It took me a while to figure this out so please bear with me on the tedious test plan: 1. Find an item that is bookable, I turned on Bookable at the item type level for BK. I am using biblionumber=28 in k-t-d with 3 items 2. Book item with barcode ( 39999000001297 ). I did March 7 - April 1 3. Book item with barcode ( 39999000001259 ). I did March 7 - April 1 4. Now checkout 39999000001297 to the patron is was booked to. When asked about early collection say yes. 5. Now item with barcode ( 39999000001273 ) is not checked out or booked. It should be bookable 6. Try to book it, it is not available till April 2, though it should be available right now.
I don't know if this can manifest in other ways but those are the steps I followed to recreate.
I think in place_booking.js there is a double count going on and we need to check if the checkout is already booked or not.
Created attachment 179023 [details] [review] Bug 39270: Check to make sure checkouts are not already booked To test: 1. Find an item that is bookable, I turned on Bookable at the item type level for BK. I am using biblionumber=28 in k-t-d with 3 items 2. Book item with barcode ( 39999000001297 ). I did March 7 - April 1 3. Book item with barcode ( 39999000001259 ). I did March 7 - April 1 4. Now checkout 39999000001297 to the patron is was booked to. When asked about early collection say yes. 5. Now item with barcode ( 39999000001273 ) is not checked out or booked. It should be bookable 6. Try to book it, it is not available till April 2, though it should be available right now. 7. APPLY PATCH 8. Try the bookings again. 9. You should correctly not be able to book 39999000001297 or 39999000001259. 10. You should be able to book 39999000001273.
Wow, good catch Lucas!
Created attachment 179416 [details] [review] Bug 39270: Check to make sure checkouts are not already booked To test: 1. Find an item that is bookable, I turned on Bookable at the item type level for BK. I am using biblionumber=28 in k-t-d with 3 items 2. Book item with barcode ( 39999000001297 ). I did March 7 - April 1 3. Book item with barcode ( 39999000001259 ). I did March 7 - April 1 4. Now checkout 39999000001297 to the patron is was booked to. When asked about early collection say yes. 5. Now item with barcode ( 39999000001273 ) is not checked out or booked. It should be bookable 6. Try to book it, it is not available till April 2, though it should be available right now. 7. APPLY PATCH 8. Try the bookings again. 9. You should correctly not be able to book 39999000001297 or 39999000001259. 10. You should be able to book 39999000001273. Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Going strait for a QA here.. the code is clear and sensible and fixes a clear bug now you've highlighted it. Thanks Lucas. Passing QA
Pushed for 25.05! Well done everyone, thank you!
Nice work everyone! Pushed to 24.11.x for 24.11.03