8a63d78c4b
The TooMany() function and fine calculation functions were incorrectly hard coded to use homebranch for fetching the circulation rules. Those ignored completely the syspref HomeOrHoldingBranch where the user might have set it to holdingbranch and therefore the fines and whether patron has too many checkouts (TooMany()) were counted using the unintended branch's rules. This problem only arises in the cases where there are branch specific circulation rules defined. Test plan: 1. Make sure following tests pass: $ prove t/db_dependent/Circulation/_CalculateAndUpdateFine.t $ prove t/db_dependent/Circulation/TooMany.t Test plan for fines.pl: 1. Add branch specific fine rules for branches A and B. A having a fine of 1 per day and B having a fine of 0 per day. 2. Set sysprefs: CircControl = the library the items is from finesMode = Calculate and charge HomeOrHoldingBranch = holdingbranch 3. Create an item with home and holding branch of A 4. Checkout the item with a due date in the past (the past due date can be specified by clicking "Checkout settings" in the checkout page) and make sure the branch you are checking from is B. 5. Run perl /usr/share/koha/bin/cronjobs/fines.pl 6. Notice that fines have popped up now to the patron incorrectly 7. Apply patch 8. Pay fines, Check-in the item and check it out again 9. Run perl /usr/share/koha/bin/cronjobs/fines.pl 10. Notice that fine is now 0. This means that the branch B (holdingbranch of the checked-out item) specific rule is used. Test plan for staticfines.pl: 1. Add branch specific fine rules for branches A and B. A having a fine of 1 per day and B having a fine of 0 per day. 2. Set sysprefs: CircControl = the library the items is from finesMode = Calculate and charge HomeOrHoldingBranch = holdingbranch 3. Create an item with homebranch A and holding branch of A 4. Checkout the item with a due date in the past (the past due date can be specified by clicking "Checkout settings" in the checkout page) and make sure the branch you are checking from is B. 5. Run perl staticfines.pl --library A --library B --category <PATRONS_CATEGORYCODE> and notice that now there is inccorectly fines 6. Apply patch 7. Pay fines, Check-in the item and check it out again 8. Run perl staticfines.pl --library A --library B --category <PATRONS_CATEGORYCODE> and notice the fines are now not generated Rebased-by: Joonas Kylmälä <joonas.kylmala@iki.fi> Signed-off-by: Petro Vashchuk <stalkernoid@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> |
||
---|---|---|
.. | ||
admin | ||
bin | ||
cronjobs | ||
devel | ||
interface_customization | ||
load_testing | ||
maintenance | ||
migration_tools | ||
release_notes | ||
search_tools | ||
translator | ||
add_date_fields_to_marc_records.pl | ||
add_statistics_borrowers_categorycode.pl | ||
background_jobs_worker.pl | ||
batchCompareMARCvsFrameworks.pl | ||
batchdeletebiblios.pl | ||
batchDeleteUnusedSubfields.pl | ||
batchImportMARCWithBiblionumbers.pl | ||
batchRebuildBiblioTables.pl | ||
batchRebuildItemsTables.pl | ||
batchRepairMissingBiblionumbers.pl | ||
check_sysprefs.pl | ||
commit_file.pl | ||
export_borrowers.pl | ||
export_records.pl | ||
exportauth.pl | ||
import_patrons.pl | ||
koha-install-log | ||
link_bibs_to_authorities.pl | ||
load_yaml.pl | ||
mod_zebraqueue.pl | ||
perlmodule_ls.pl | ||
perlmodule_rm.pl | ||
process_ill_updates.pl | ||
recreateIssueStatistics.pl | ||
sax_parser_print.pl | ||
sax_parser_test.pl | ||
sip_cli_emulator.pl | ||
stage_file.pl | ||
z3950_responder.pl |