Summary: | Bookings biblio checks erroneously if multiple check-outs and bookings exist | ||
---|---|---|---|
Product: | Koha | Reporter: | Pedro Amorim <pedro.amorim> |
Component: | Circulation | Assignee: | Pedro Amorim <pedro.amorim> |
Status: | Signed Off --- | QA Contact: | Martin Renvoize (ashimema) <martin.renvoize> |
Severity: | normal | ||
Priority: | P5 - low | CC: | gmcharlt, kyle, martin.renvoize, pedro.amorim |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
GIT URL: | Change sponsored?: | --- | |
Patch complexity: | --- | Documentation contact: | |
Documentation submission: | Text to go in the release notes: | ||
Version(s) released in: | Circulation function: | ||
Attachments: |
Bug 40644: Only count checkouts that have not yet been counted as bookings
Bug 40644: Only count checkouts that have not yet been counted as bookings Bug 40644: Only count checkouts that have not yet been counted as bookings Bug 40644: Only count checkouts that have not yet been counted as bookings |
Description
Pedro Amorim
2025-08-13 11:25:45 UTC
Created attachment 185358 [details] [review] Bug 40644: Only count checkouts that have not yet been counted as bookings Test plan: 1) Have a record with 8 items. 2) Place a booking on 6 of the items (6 bookings total) for a full month (e.g. August) 3) Check-out all 6 of those bookings 4) Attempt to place a new booking for one of the 2 free items. 5) It will fail with error "Booking conflicts". This is because the code is adding 6 checkouts with 6 bookings = 12 which is higher than 8 bookable items. 6) With this patch, check-outs that refer to an existing booking are excluded, so the check becomes if 8 - 6 > 0 (which passes the check) rather than 8 - 12 > 0 (which fails the check) Created attachment 185359 [details] [review] Bug 40644: Only count checkouts that have not yet been counted as bookings Test plan: 1) Have a record with 8 items. 2) Place a booking on 6 of the items (6 bookings total) for a full month (e.g. August) 3) Check-out all 6 of those bookings 4) Attempt to place a new booking for one of the 2 free items for end of month, e.g. (Aug 26 -> Aug 28). 5) It will fail with error "Booking conflicts". This is because the code is adding 6 checkouts with 6 bookings = 12 which is higher than 8 bookable items. 6) With this patch, check-outs that refer to an existing booking are excluded, so the check becomes if 8 - 6 > 0 (which passes the check) rather than 8 - 12 > 0 (which fails the check) Run existing tests: prove t/db_dependent/Koha/Item.t prove t/db_dependent/Koha/Biblio.t prove t/db_dependent/Koha/Booking.t Created attachment 185360 [details] [review] Bug 40644: Only count checkouts that have not yet been counted as bookings Test plan: 1) Have a record with 8 items. 2) Place a booking on 6 of the items (6 bookings total) for a full month (e.g. August) 3) Check-out all 6 of those bookings 4) Attempt to place a new booking for one of the 2 free items for end of month, e.g. (Aug 26 -> Aug 28). 5) It will fail with error "Booking conflicts". This is because the code is adding 6 checkouts with 6 bookings = 12 which is higher than 8 bookable items. 6) With this patch, check-outs that refer to an existing booking are excluded, so the check becomes if 8 - 6 > 0 (which passes the check) rather than 8 - 12 > 0 (which fails the check) Run existing tests: prove t/db_dependent/Koha/Item.t prove t/db_dependent/Koha/Biblio.t prove t/db_dependent/Koha/Booking.t Adding Martin as QA here for when he's available. Created attachment 185417 [details] [review] Bug 40644: Only count checkouts that have not yet been counted as bookings Test plan: 1) Have a record with 8 items. 2) Place a booking on 6 of the items (6 bookings total) for a full month (e.g. August) 3) Check-out all 6 of those bookings 4) Attempt to place a new booking for one of the 2 free items for end of month, e.g. (Aug 26 -> Aug 28). 5) It will fail with error "Booking conflicts". This is because the code is adding 6 checkouts with 6 bookings = 12 which is higher than 8 bookable items. 6) With this patch, check-outs that refer to an existing booking are excluded, so the check becomes if 8 - 6 > 0 (which passes the check) rather than 8 - 12 > 0 (which fails the check) Run existing tests: prove t/db_dependent/Koha/Item.t prove t/db_dependent/Koha/Biblio.t prove t/db_dependent/Koha/Booking.t Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com> |