Bug 33210: (Bug 31963 follow-up) No hold fee message on OPAC should be displayed...
authorJanusz Kaczmarek <januszop@gmail.com>
Mon, 13 Mar 2023 14:06:52 +0000 (15:06 +0100)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 21 Apr 2023 13:36:27 +0000 (10:36 -0300)
commite4b94e4d82d5f96a0b1125f41fc8e41a47826627
tree7180749c18b8044f6a491abf0117876d687e9a85
parent203646418a75efb86f513e33a0f3d4e13675c50d
Bug 33210: (Bug 31963 follow-up) No hold fee message on OPAC should be displayed when there is no fee

After resolving Bug 31963 everything works as expected when there is
hold fee defined (!= 0).  But in case when the fee for given patron
category is set to 0.00, the user will always see the message "You will
be charged a hold fee of 0,00 ...", which is obviously not intended.

This is because categories.reservefee is returned from database as
'0.000000' and as such, without type casting, is interpreted as string
in Perl. Prior to Bug 31963 the result was compared to 0 before sending
anything to the template, so the casting was done, now it is not.

To test:
========
1. Go to Administration -> Patron categories
2. Edit your patron category and give a hold fee of 0.
3. HoldFeeMode does not matter - you can set it to any value.
4. In another tab, open the OPAC.
5. Search the OPAC for any record with an item.
6. Go to place a hold on this record.  You will see "You will be
   charged a hold fee of 0,00" --> This is a bug.
7. Apply patch and restart services.
6. Repeat step 6.
8. You should NOT see the hold fee message.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
C4/Reserves.pm