[Koha-bugs] [Bug 29607] New: addorderiso2709: The stored discount when importing an order from a file is invalid

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed Dec 1 10:22:07 CET 2021


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29607

            Bug ID: 29607
           Summary: addorderiso2709: The stored discount when importing an
                    order from a file is invalid
 Change sponsored?: ---
           Product: Koha
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: minor
          Priority: P5 - low
         Component: Acquisitions
          Assignee: koha-bugs at lists.koha-community.org
          Reporter: christophe.torin at univ-rennes2.fr
        QA Contact: testopia at bugs.koha-community.org

In the Acquisitions module :
- Create a new vendor with a discount (Or select one that has a discount). Here
the discount will be 25%
- Create a new basket or select an existing one
- Select "Add to basket" => From a staged file
- Add an order from one of the file
        ==> Here, you can use a specific discount for the order, to override
the vendor discount. The result should be quite the same if you do, but with
this discount
- The order is created ==> Modify the order
- The discount is 0.25% instead of 25%

Note that the prices are initially correctly calculated, but the discount value
will appear as false. Plus, if you modify the order and change a price, the
wrong discount will be used.
In database, the discount is indeed stored as a value between 0 and 1, but only
in that case (for the vendor, it is the actual percentage, and when you create
an order from anoher source, it is stored correctly)


This was reported on Koha 20.11, but is still relevant on master.


In the code, this happens because the discount value is first divided by 100 to
calculate the price, but it is that divided value that is stored in database,
instead of the whole percentage value.

On the master branch, in the file Koha/acqui/addorderiso2709.pl, the line where
it's done are lines 166, 279 and 340
What I would suggest is : 
- Remove the division per 100 on those lines (166, 279 and 340)
- Divide per 100 only when calculating the price (lines 283, 285, 344, 346) ==>
( 1 - $c/100 ) instead of ( 1 - $c )
- In the template (for importing from file), add a "%" just to be clear that
the discount is a percentage, and not a value between 0 and 1

I know there was a kind of security (divide by 100 if the input is > 1), but it
could be the other way around (multiply by 100 if the input is < 1). But as it
is based on the field that is in the form, with a simple "%" indication it
should not be needed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list