Due to a disconnect between how booleans are handled in Perl vs JSON, all checkins done from the checkouts table will have fines forgiven! This is because the parameters sent to svc/checkin are coded in JSON and the JSON false is treated in Perl as the string 'false' which evaluates to true!
Created attachment 33874 [details] [review] Bug 13330 - All overdue items with fines returned via checkouts table will have fines forgiven! Due to a disconnect between how booleans are handled in Perl vs JSON, all checkins done from the checkouts table will have fines forgiven! This is because the parameters sent to svc/checkin are coded in JSON and the JSON false is treated in Perl as the string 'false' which evaluates to true! Test Plan: 1) Find a patron with an overdue item that has a fine 2) Return the item via the checkouts table on circulation.pl or moremember.pl 3) Note the fine is forgiven 4) Apply this patch 5) Repeat steps 1-2 6) Note the fine is no longer forgiven
Created attachment 33875 [details] [review] Bug 13330 - All overdue items with fines returned via checkouts table will have fines forgiven! Due to a disconnect between how booleans are handled in Perl vs JSON, all checkins done from the checkouts table will have fines forgiven! This is because the parameters sent to svc/checkin are coded in JSON and the JSON false is treated in Perl as the string 'false' which evaluates to true! Test Plan: 1) Find a patron with an overdue item that has a fine 2) Return the item via the checkouts table on circulation.pl or moremember.pl 3) Note the fine is forgiven 4) Apply this patch 5) Repeat steps 1-2 6) Note the fine is no longer forgiven
Created attachment 33881 [details] [review] Bug 13330 - All overdue items with fines returned via checkouts table will have fines forgiven! Due to a disconnect between how booleans are handled in Perl vs JSON, all checkins done from the checkouts table will have fines forgiven! This is because the parameters sent to svc/checkin are coded in JSON and the JSON false is treated in Perl as the string 'false' which evaluates to true! Test Plan: 1) Find a patron with an overdue item that has a fine 2) Return the item via the checkouts table on circulation.pl or moremember.pl 3) Note the fine is forgiven 4) Apply this patch 5) Repeat steps 1-2 6) Note the fine is no longer forgiven Signed-off-by: Liz Rea <liz@catalyst.net.nz> Verified bug, fix corrects the problem.
Created attachment 33883 [details] [review] [PASSED QA] Bug 13330 - All overdue items with fines returned via checkouts table will have fines forgiven! Due to a disconnect between how booleans are handled in Perl vs JSON, all checkins done from the checkouts table will have fines forgiven! This is because the parameters sent to svc/checkin are coded in JSON and the JSON false is treated in Perl as the string 'false' which evaluates to true! Test Plan: 1) Find a patron with an overdue item that has a fine 2) Return the item via the checkouts table on circulation.pl or moremember.pl 3) Note the fine is forgiven 4) Apply this patch 5) Repeat steps 1-2 6) Note the fine is no longer forgiven Signed-off-by: Liz Rea <liz@catalyst.net.nz> Verified bug, fix corrects the problem. Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Also tested waiving fines form the check-in page still works. Passes tests and QA script.
Patch pushed to master. Thanks Kyle!
*** Bug 13312 has been marked as a duplicate of this bug. ***