If you import an order file ( using MarcItemFieldsToOrder ) that has a different budget for each item to be ordered, you will get an error and a partially created basket. This is because Koha attempts to add the item to each order *for each budget*. This is clearly incorrect. Instead, we should be grouping items by budget and for each budget only adding those items that have a matching budget.
Created attachment 67715 [details] [review] Bug 19425 - Adding orders from order file with multiple budgets per record triggers error If you import an order file ( using MarcItemFieldsToOrder ) that has a different budget for each item to be ordered, you will get an error and a partially created basket. This is because Koha attempts to add the item to each order *for each budget*. This is clearly incorrect. Instead, we should be grouping items by budget and for each budget only adding those items that have a matching budget. Test Plan: 1) Apply this patch 2) Download the provided MARC record 3) Add the branchcode 'ALD' to your server 4) Add the ccode 'ACOL' to your server 5) Add the budget codes 'adultay' and 'branchay' to your server 6) Stage the order file 7) Create a basket, import the order file 8) No we have 3 records, 2 of them have 2 items each with different budget codes 9) Attempt to import, note the error 10) Apply this patch 11) Repeat steps 6-8, note the order completes and results in 5 order lines being added to the basket!
Created attachment 67716 [details] MARC file that will trigger the error
Created attachment 67866 [details] [review] Bug 19425 - Adding orders from order file with multiple budgets per record triggers error If you import an order file ( using MarcItemFieldsToOrder ) that has a different budget for each item to be ordered, you will get an error and a partially created basket. This is because Koha attempts to add the item to each order *for each budget*. This is clearly incorrect. Instead, we should be grouping items by budget and for each budget only adding those items that have a matching budget. Test Plan: 1) Apply this patch 2) Download the provided MARC record 3) Add the branchcode 'ALD' to your server 4) Add the ccode 'ACOL' to your server 5) Add the budget codes 'adultay' and 'branchay' to your server 6) Stage the order file 7) Create a basket, import the order file 8) No we have 3 records, 2 of them have 2 items each with different budget codes 9) Attempt to import, note the error 10) Apply this patch 11) Repeat steps 6-8, note the order completes and results in 5 order lines being added to the basket! Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Christopher Kellermeyer <ckellermeyer@altadenalibrary.org>
Test plan contains a typo
Created attachment 68047 [details] [review] Bug 19418: (bug 12833 follow-up) Add missing use statement Patron search fail on calling svc/members/search. This script return a 500 error and the search stay on "Processing..." Test plan: - Enable ExtendedPatronAttributes system preference, - make a standard search (search fields), - check the search works and it doesn't stick on "Processing..." Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> I do not recreate the issue, but the change make sense and the issue has been raised by several people Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Created attachment 68048 [details] [review] Koha REST V1 Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Oops
Created attachment 68049 [details] [review] Bug 19425 - Adding orders from order file with multiple budgets per record triggers error If you import an order file ( using MarcItemFieldsToOrder ) that has a different budget for each item to be ordered, you will get an error and a partially created basket. This is because Koha attempts to add the item to each order *for each budget*. This is clearly incorrect. Instead, we should be grouping items by budget and for each budget only adding those items that have a matching budget. Test plan: 1) Do not apply this patch 2) Download the provided MARC record 3) Add the branchcode 'ALD' to your server 4) Add the ccode 'ACOL' to your server 5) Add the budget codes 'adultay' and 'branchay' to your server 6) Stage the order file 7) Create a basket, import the order file 8) No we have 3 records, 2 of them have 2 items each with different budget codes 9) Attempt to import, note the error 10) Apply this patch 11) Repeat steps 6-8, note the order completes and results in 5 order lines being added to the basket! Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Christopher Kellermeyer <ckellermeyer@altadenalibrary.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> First step of test plan amended (not apply instead of apply).
Created attachment 68050 [details] [review] Bug 19425: (QA Follow-up) Resolve 'push on reference experimental' warn QA tools reported for acqui/addorderiso2709.pl FAIL valid: push on reference is experimental Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
QA Comment: Code looks good to me. Note that the test plan is not complete. You need to know what fields goes where and how to fill the two associated preferences. Not tested, but should be fine.
Pushed to master for 17.11, thanks to everybody involved!
Pushed to 17.05.x, will be in 17.05.06.
This doesn't apply cleanly on 16.11.x and I am not sure if it's needed. Please verify and rebase if you want this to be included.
16.11.x doesn't have the feature this bug is part of. Marking as resolved!