Bug 11914: fix two issues when creating an order from a suggestion
authorJacek Ablewicz <abl@biblos.pk.edu.pl>
Mon, 10 Mar 2014 09:53:52 +0000 (10:53 +0100)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 18 Apr 2014 21:59:14 +0000 (21:59 +0000)
When order is being created from purchase suggestion:
- Budget/fund stored in suggestion record (if any) is not retained
on order page, system always defaults to 'Select a fund' even if some
fund was already chosen for a suggestion on the earlier stage.
- If there was a price given to, and stored within suggestion record,
initial prices calculations on order page are not working properly
('Replacement cost', 'Budgeted cost' and 'Total' show as 0.00 or blank).
As a workaround - to force correct price recalculation - user needs
to manually alter and then re-alter some price-related fields (e.g.,
quantity or vendor price).

This patch fixes both issues.

Test plan:
1) create a suggestion: choose some buget, enter something in 'Price'
and 'Quantity' fields,
2) try to make an order from this suggestion, to confirm/replicate
aforementioned problems,
3) apply patch,
4) make an order from previously created suggestion again, observe
that both issues are now resolved.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
acqui/neworderempty.pl
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt

index 9fdf032..5df5d27 100755 (executable)
@@ -182,6 +182,7 @@ if ( $ordernumber eq '' ) {    # create order
 # otherwise, retrieve suggestion information.
     if ($suggestionid) {
         $data = ($biblionumber) ? GetBiblioData($biblionumber) : GetSuggestion($suggestionid);
+        $budget_id ||= $data->{'budgetid'} // 0;
     }
 }
 else {    #modify order
index 596aa07..4ce63a0 100644 (file)
@@ -101,6 +101,7 @@ $(document).ready(function()
             cloneItemBlock(0, '[% UniqueItemFields %]');
         [% END %]
 
+        [% IF ( suggestionid ) %]updateCosts();[% END %]
         $("#quantity").change(function() {
             updateCosts();
         });