Bug 31840: Consider current cost if modifying order
This patch deducts the current cost of an order if modifying it, so that the current cost isn't counted when checking whether the updated cost will take the order total amount above the allowed budget. To test: 1. Add an active budget of $1,000 2. Attach a fund of $1,000. Set the fund to warn at 98% and $900. 3. Add an order to a basket, give it a vendor price of $500 with no discount or tax and Save 4. Modify the order and change the vendor price to $450 and Save 5. Notice you get a warning that this order total amount will exceed the allowed budget - this is incorrect. 6. Apply the patch and cancel the change so you're redirected back to the basket 7. Modify the order and change the vendor price to $450 and Save 8. You should be able to Save without requiring confirmation 9. Add another order to the basket, give it a vendor price of $100 with no discount or tax and Save. This should save normally, confirming we can add new orders that do not exceed the allowed budget 10. Add another order to the basket, give it a vendor price of $500 with no discount or tax and Save. This should trigger the warning that you will exceed the allowed budget, as expected. Sponsored-by: Waikato Institute of Technology Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
894c6dd0fe
commit
c6ddce6b21
1 changed files with 8 additions and 0 deletions
|
@ -155,6 +155,14 @@ unless($confirm_budget_exceeding) {
|
|||
my $budget = GetBudget($budget_id);
|
||||
my $budget_spent = GetBudgetSpent($budget_id);
|
||||
my $budget_ordered = GetBudgetOrdered($budget_id);
|
||||
|
||||
my $ordernumber = $input->param('ordernumber');
|
||||
if ( $ordernumber ) {
|
||||
# modifying an existing order so remove order price from $budget_ordered
|
||||
my $order = Koha::Acquisition::Orders->find($ordernumber);
|
||||
$budget_ordered = $budget_ordered - ( $order->ecost_tax_included * $order->quantity );
|
||||
}
|
||||
|
||||
my $budget_used = $budget_spent + $budget_ordered;
|
||||
my $budget_remaining = $budget->{budget_amount} - $budget_used;
|
||||
my $budget_encumbrance = $budget->{budget_amount} * $budget->{budget_encumb} / 100;
|
||||
|
|
Loading…
Reference in a new issue