The IsAvailableForItemLevelRequest subroutine returns wrong value when $items_any_available is defined
Created attachment 134661 [details] [review] Bug 30697: Fix return value when $items_any_available is defined Return the value of $item_any_available when it is defined instead of the opposite value.
missing automated tests, and a test plan demonstrating the error and the fix.
Created attachment 134666 [details] [review] Bug 30697: Fix return value when $items_any_available is defined Return the value of $item_any_available when it is defined instead of the opposite value. Here is a test plan to reproduce an issue created by this bug Test plan: 1- Go to administration > system preferences > AllowRenewalIfOtherItemsAvailable and select "Allow" 2- Go to administration > circulation and fine rules and create an All/All rule where "on shelf holds allowed" is set to "if all unavailable" 3- Have at least 2 library branches Go to administration > libraries > new library to create them 4- Have 2 users, one from each library Go to patrons > new patron to create them 5- Have 2 items of the same record, but one item from each library Go to catalog > create or find a record > new > new item to create them 6- Make the first user check out the first item 7- Make the second user place a hold on the same record (even though it is not allowd) 8- Go back to the first user's page and try to renew 9- Notice it is written "on hold" under "Renew" even though the first user should be able to renew his item 10- Apply the patch 11- Refresh and notice it now shows the usual checkbox to renew
Thank you for the test case! Still missing automated tests though... Have a look at the file t/db_dependant/Reserves.t You may find some help in writing unit_tests in this bug too (actually, your patch may solve my problem!) : https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20985 Do you know how to run unit tests? If you use Koha-testing-docker (ktd) this is very easy : when in Koha source dir, within ktd (after kshell on the host), you can run this command : prove t/db_dependant/Reserves.t Best,