Summary: | Record branch context in accountlines.branchcode for OVERDUE, LOST, and PROCESSING fees | ||
---|---|---|---|
Product: | Koha | Reporter: | Pirkko-Liisa Lauhikari <pirkko-liisa.lauhikari> |
Component: | Fines and fees | Assignee: | Laura Escamilla <Laura.escamilla> |
Status: | ASSIGNED --- | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | andrew, Laura.escamilla |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=39802 | ||
GIT URL: | Change sponsored?: | --- | |
Patch complexity: | --- | Documentation contact: | |
Documentation submission: | Text to go in the release notes: | ||
Version(s) released in: | Circulation function: | ||
Bug Depends on: | 36506, 39802 | ||
Bug Blocks: | |||
Attachments: |
Bug 35612: Added new AccountLinesBranchSource system preference
Bug 35612: Added branch code logic Bug 35612: sysprefs.sql updates Bug 35612: Added the system preference within the Circulation and Fines policy in Administration Bug 35612: Tests |
Description
Pirkko-Liisa Lauhikari
2023-12-20 11:18:34 UTC
We hope also, that branchcode information for all customer fees lines. Agreed it would be helpful to consistently populate the branchcode for accountlines. For overdues fines, I believe the branch used to calculate the fine is determined by the CircControl and HomeOrHoldingBranch system preferences. Accountlines should record the branch used to calculate the fine. The longoverdue cron also follows CircControl but fails to record that branch in accountlines. It should do so. Created attachment 186567 [details] [review] Bug 35612: Added new AccountLinesBranchSource system preference Created attachment 186568 [details] [review] Bug 35612: Added branch code logic Created attachment 186569 [details] [review] Bug 35612: sysprefs.sql updates Created attachment 186570 [details] [review] Bug 35612: Added the system preference within the Circulation and Fines policy in Administration To test: 1. Set system preferences: * FinesMode: Calculate and Charge * AccountLinesBranchSource: (this will be tested with different values later) 2. Set circulation rules: * Ensure a circulation rule exists that charges overdue fines for the item type and branch you're testing with. 3. Check out an item to a test patron with a due date in the past (to trigger overdue). 4. Run the fines cronjob: perl /usr/share/koha/bin/cronjobs/fines.pl 5. Verify fines appear on the patron’s Accounting tab in the staff interface. 6. Confirm branchcode is NULL in the database: * SELECT accountlines_id, branchcode, debit_type_code FROM accountlines ORDER BY accountlines_id DESC LIMIT 10; * Expect to see branchcode = NULL for the OVERDUE debit. 7. Apply the patch to your Koha instance. 8. Run updatedatabase 9. Run restart_all 10. In the staff interface, go to Administration → System Preferences, search for AccountLinesBranchSource, and set it to: "the library the item was checked out from" (checkoutbranch) 11. Repeat steps 3–6. 12. Confirm that in the SQL output, the branchcode now matches the checkout branch of the item. 13. Repeat steps 10–12 with each of the following AccountLinesBranchSource values: * itemhomebranch: The item’s home library * patronhomebranch: The patron’s home library * checkoutbranch: The checkout library (already tested) * none: Should result in NULL branchcode * Confirm that: The correct branch is recorded in the branchcode field of accountlines. When set to none, branchcode is again NULL. Created attachment 186571 [details] [review] Bug 35612: Tests run perl t/db_dependent/Koha/Account.t Rather than adding a system preference to determine which branch is used or recorded for a debit, the goal here is to allow the existing system preferences -- CircControl, LostChargesControl (see bug 39802) -- to determine which branch's rules should be used to calculate the fee and then record that context in accountlines. I got so busy thinking about lost items I forgot that Pirkko-Liisa started this bug with OVERDUEs. OVERDUEs also fail to record the branch used to determine the fee and should also be covered in this work. |