When one modifies holds from records holds page, these changes don't log into action_logs table correctly. Instead holds data before modifications is stored to action_logs. To test: 1. Find hold to modify. 2. If possible, locate this hold from action_logs table: SELECT * FROM action_logs WHERE module = "HOLDS" AND object = <reserve_id>; 3. Modify hold, change its pickup library from A to B. 4. Save changes. 5. Take a look at action_logs table. => Modification is saved, but holds pickup library is still A. 6. Modify hold again, e.g add expiration date. 7. Save. => Expiration date is empty, but pickup library is now B.
Created attachment 144215 [details] [review] Bug 32306: Add unit tests In ModReserves logging changes actually happens before we store any of made changes. To test: 1. Run prove t/db_dependent/Reserves.t => Tests should fail. Sponsored-by: Koha-Suomi Oy
Created attachment 144216 [details] [review] Bug 32306: Log after storing changes in ModReserve When one modifies holds from records holds page, these changes don't log into action_logs table correctly. Instead holds data before modifications is stored to action_logs. This patch moves call for logaction after changes have been stored in ModReserve. To test: 1. Find hold to modify. 2. If possible, locate this hold from action_logs table: SELECT * FROM action_logs WHERE module = "HOLDS" AND object = <reserve_id>; 3. Modify hold, change its pickup library from A to B. 4. Save changes. 5. Take a look at action_logs table. => Modification is saved, but holds pickup library is still A. 6. Modify hold again, e.g add expiration date. 7. Save. 8. Find this new modification from action_logs. => In action_logs table expiration date is empty, but pickup library is now B. 9. Apply this patch. 10. Modify hold, change its pickup library back from B to A. 11. Save changes. => In action_logs table holds modification has now a correct pickup library A. Also prove t/db_dependent/Reserves.t. Sponsored-by: Koha-Suomi Oy
Created attachment 145587 [details] [review] Bug 32306: Add unit tests In ModReserves logging changes actually happens before we store any of made changes. To test: 1. Run prove t/db_dependent/Reserves.t => Tests should fail. Sponsored-by: Koha-Suomi Oy
Created attachment 145588 [details] [review] Bug 32306: Log after storing changes in ModReserve When one modifies holds from records holds page, these changes don't log into action_logs table correctly. Instead holds data before modifications is stored to action_logs. This patch moves call for logaction after changes have been stored in ModReserve. To test: 1. Find hold to modify. 2. If possible, locate this hold from action_logs table: SELECT * FROM action_logs WHERE module = "HOLDS" AND object = <reserve_id>; 3. Modify hold, change its pickup library from A to B. 4. Save changes. 5. Take a look at action_logs table. => Modification is saved, but holds pickup library is still A. 6. Modify hold again, e.g add expiration date. 7. Save. 8. Find this new modification from action_logs. => In action_logs table expiration date is empty, but pickup library is now B. 9. Apply this patch. 10. Modify hold, change its pickup library back from B to A. 11. Save changes. => In action_logs table holds modification has now a correct pickup library A. Also prove t/db_dependent/Reserves.t. Sponsored-by: Koha-Suomi Oy Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>