Summary: | [22.11] Keep the current option for funds in receiving returns an error 500 or saves wrong fund | ||
---|---|---|---|
Product: | Koha | Reporter: | Thibaut <thibaut.colin> |
Component: | Acquisitions | Assignee: | Katrin Fischer <katrin.fischer> |
Status: | CLOSED FIXED | QA Contact: | Martin Renvoize (ashimema) <martin.renvoize> |
Severity: | major | ||
Priority: | P5 - low | CC: | arthur.suzuki, chughesman, emily.lamancusa, lucas, martin.renvoize, nick, samalau, wainuiwitikapark |
Version: | 22.11 | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: |
22.11.07
|
|
Circulation function: | |||
Bug Depends on: | 31459, 32694 | ||
Bug Blocks: | |||
Attachments: |
Bug 34006: Fix value of "Keep current" option on receive so correct fund is saved
Bug 34006: Fix value of "Keep current" option on receive so correct fund is saved Bug 34006: Fix value of "Keep current" option on receive so correct fund is saved |
Description
Thibaut
2023-06-14 09:22:49 UTC
I believe this had been fixed already once in the 22.11 release cycle, but coudln't locate the bug. Maybe git history will show something. In master things seem to be ok, will try to test in 22.11.x next. Confiremd, on saving the wrong fund is set :( To test: 1) * With the sample data * Create a new budget "July 2023" * Create a new fund "Books" under it * Limit access to Owner and make yourself the owner 2) * Create a basket * Create an order line with this fund * Close the basket 3) * Edit or create another patron * Set catalogue and acq permissions without budget_manage_all and order_manage_all (no access to the fund) * Edit username and password 4) * Log in as the second user in a separate browser * Receive shipment * Create invoice * Receive * You should see the fund under the "Keep current" heading selected * Add quantity received, save * Fund has changed to Fund_1_2 => data loss :( I think the 500 maybe occurs if there is no fund with a matching number. Created attachment 152415 [details] [review] Bug 34006: Fix value of "Keep current" option on receive so correct fund is saved Under certain circumstances the "Keep current" option on receive allows to receive order lines where the fund is otherwise not accessible to the user. In 22.11 the wrong value is used for the option, so that instead of the fund id the budget id is used, this can lead to an error 500 if there is no fund with this id or to a wrong fund being saved. To test: 1) Create budget and fund * With the sample data * Create a new budget "July 2023" * Create a new fund "Books" under it * Limit access to Owner and make yourself the owner 2) Create order * Create a basket * Create an order line with this access limited fund * Close the basket 3) Create a staff user with limited permissions * Edit or create another patron * Set catalogue and acq permissions without budget_manage_all and order_manage_all (no access to the fund) * Edit username and password 4) Receive, recreating the error * Log in as the second user in a separate browser * Receive shipment * Create invoice * Receive * You should see the fund under the "Keep current" heading selected * Add quantity received, save * Fund has changed to Fund_1_2 => data loss :( 5) Receive, verify fix * Create another order line with your privileged user and the "Books" fund * Repeat 4) * After receiving the fund should now remain unchanged CONFLICT (content): Merge conflict in koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt error: Failed to merge in the changes. Patch failed at 0001 Bug 34006: Fix value of "Keep current" option on receive so correct fund is saved (In reply to Sam Lau from comment #7) > CONFLICT (content): Merge conflict in > koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt > error: Failed to merge in the changes. > Patch failed at 0001 Bug 34006: Fix value of "Keep current" option on > receive so correct fund is saved Hi Sam, this needs to be tested pre-multi-receive. So in 22.11 Created attachment 152568 [details] [review] Bug 34006: Fix value of "Keep current" option on receive so correct fund is saved Under certain circumstances the "Keep current" option on receive allows to receive order lines where the fund is otherwise not accessible to the user. In 22.11 the wrong value is used for the option, so that instead of the fund id the budget id is used, this can lead to an error 500 if there is no fund with this id or to a wrong fund being saved. To test: 1) Create budget and fund * With the sample data * Create a new budget "July 2023" * Create a new fund "Books" under it * Limit access to Owner and make yourself the owner 2) Create order * Create a basket * Create an order line with this access limited fund * Close the basket 3) Create a staff user with limited permissions * Edit or create another patron * Set catalogue and acq permissions without budget_manage_all and order_manage_all (no access to the fund) * Edit username and password 4) Receive, recreating the error * Log in as the second user in a separate browser * Receive shipment * Create invoice * Receive * You should see the fund under the "Keep current" heading selected * Add quantity received, save * Fund has changed to Fund_1_2 => data loss :( 5) Receive, verify fix * Create another order line with your privileged user and the "Books" fund * Repeat 4) * After receiving the fund should now remain unchanged Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Created attachment 152569 [details] [review] Bug 34006: Fix value of "Keep current" option on receive so correct fund is saved Under certain circumstances the "Keep current" option on receive allows to receive order lines where the fund is otherwise not accessible to the user. In 22.11 the wrong value is used for the option, so that instead of the fund id the budget id is used, this can lead to an error 500 if there is no fund with this id or to a wrong fund being saved. To test: 1) Create budget and fund * With the sample data * Create a new budget "July 2023" * Create a new fund "Books" under it * Limit access to Owner and make yourself the owner 2) Create order * Create a basket * Create an order line with this access limited fund * Close the basket 3) Create a staff user with limited permissions * Edit or create another patron * Set catalogue and acq permissions without budget_manage_all and order_manage_all (no access to the fund) * Edit username and password 4) Receive, recreating the error * Log in as the second user in a separate browser * Receive shipment * Create invoice * Receive * You should see the fund under the "Keep current" heading selected * Add quantity received, save * Fund has changed to Fund_1_2 => data loss :( 5) Receive, verify fix * Create another order line with your privileged user and the "Books" fund * Repeat 4) * After receiving the fund should now remain unchanged Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Trivial and clear fix, thanks Katrin. Many hands makes light work, thankyou everyone! Pushed to 22.11.x for the next release Many hands makes light work, thankyou everyone! Pushed to 22.11.x for the next release |