Bug 1526

Summary: Catalogue detail page does not show reserve status
Product: Koha Reporter: Owen Leonard <oleonard>
Component: Staff interfaceAssignee: Chris Cormack <chris>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: PATCH-Sent (DO NOT USE)    
Version: Main   
Hardware: All   
OS: All   
GIT URL: Initiative type: ---
Sponsorship status: --- Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Bug 15261: Check if checkout/reserve request overlaps existing reserves
Bug 15261: (QA follow-up)
Bug 15261: Prevent checkout only if for a different borrower
Bug 15261: Check if checkout/reserve request overlaps existing reserves
Bug 15261: (QA follow-up)
Bug 15261: Prevent checkout only if for a different borrower
Bug 15261: Always check preference PreventCheckoutOnSameReservePeriod first
Bug 15261: Trying to fix after rebase

Description Chris Cormack 2010-05-21 00:31:28 UTC


---- Reported by oleonard@myacpl.org 2007-10-30 05:15:08 ----

Item is on hold for someone, has been checked in and made waiting for them. Patron's circ record says "Hold waiting." Opening the catalogue detail page for that biblio record, the list of items doesn't show that any of them are on hold or waiting. They all show as available.



--- Bug imported by chris@bigballofwax.co.nz 2010-05-21 00:31 UTC  ---

This bug was previously known as _bug_ 1526 at http://bugs.koha.org/cgi-bin/bugzilla3/show_bug.cgi?id=1526

Actual time not defined. Setting to 0.0

Comment 1 Henri-Damien LAURENT 2022-03-10 15:19:17 UTC
Created attachment 131561 [details] [review]
Bug 15261: Check if checkout/reserve request overlaps existing reserves

When checking out or placing hold, we should check if an existing
reserve whose period overlap exists.

- A user places a hold from opac whose requested period overlaps with an
  existing reserve period => prevent reserve
- A librarian places a hold from staff whose requested period overlaps
  with an existing reserve period => Warn librarian (Ask for
  confirmation)
- A librarian makes a checkout from staff whose requested period
  overlaps with an existing reserve period => Warn librarian (Ask for
  confirmation)

Test plan:

Enable syspref: AllowHoldDateInFuture OPACAllowHoldDateInFuture
  PreventChechoutOnSameReservePeriod and PreventReservesOnSamePeriod

1 (staff side):
- Place a hold on title (which has only one items) level with start date
  and expiration date.
- Place another hold (also title level) with period overlaping this
  reserve.
- Check you are warned about an existing reserve

2 (staff side):
- Place a hold on title (which has more than one items) level with start
  date and expiration date.
- Place another hold (also title level) with period overlaping this
  reserve.
- Check you are NOT warned about an existing reserve. Because it remains
  at least one item not reserved.

3 (staff side):
- Place a hold on item level with start date and expiration date.
- Place another hold on item level with period overlaping this reserve.
- Check you are warned about an existing reserve.

4 (opac side):
- Do the same than for staff side. Instead of a warn, reserve is
  prevented.

5:
- Place a hold on title (which has only one items) level with start date
  and expiration date.
- Try to checkout the unique item from this title with period overlaping
  the reserve period.
- Check you are warned about an existing reserve

6:
- Place a hold on title (which has more than one items) level with start
  date and expiration date.
- Checkout an item from this title with period overlaping the reserve
  period.
- Check you are NOT warned about an existing reserve.

7:
- Place a hold on item level with start date and expiration date.
- Checkout this item period overlaping the reserve period.
- Check you are warned about an existing reserve

8:
- Create a checkout (i.e from ${TODAY} to ${TODAY + 10 days}),
- Place a hold on the same item from ${TODAY + 11 days} to ${TODAY + 30
days}),
- Check that you cannot renew the checkout.

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Comment 2 Henri-Damien LAURENT 2022-03-10 15:19:21 UTC
Created attachment 131562 [details] [review]
Bug 15261: (QA follow-up)
Comment 3 Henri-Damien LAURENT 2022-03-10 15:19:24 UTC
Created attachment 131563 [details] [review]
Bug 15261: Prevent checkout only if for a different borrower
Comment 4 Henri-Damien LAURENT 2022-03-10 15:21:41 UTC
Created attachment 131564 [details] [review]
Bug 15261: Check if checkout/reserve request overlaps existing reserves

When checking out or placing hold, we should check if an existing
reserve whose period overlap exists.

- A user places a hold from opac whose requested period overlaps with an
  existing reserve period => prevent reserve
- A librarian places a hold from staff whose requested period overlaps
  with an existing reserve period => Warn librarian (Ask for
  confirmation)
- A librarian makes a checkout from staff whose requested period
  overlaps with an existing reserve period => Warn librarian (Ask for
  confirmation)

Test plan:

Enable syspref: AllowHoldDateInFuture OPACAllowHoldDateInFuture
  PreventChechoutOnSameReservePeriod and PreventReservesOnSamePeriod

1 (staff side):
- Place a hold on title (which has only one items) level with start date
  and expiration date.
- Place another hold (also title level) with period overlaping this
  reserve.
- Check you are warned about an existing reserve

2 (staff side):
- Place a hold on title (which has more than one items) level with start
  date and expiration date.
- Place another hold (also title level) with period overlaping this
  reserve.
- Check you are NOT warned about an existing reserve. Because it remains
  at least one item not reserved.

3 (staff side):
- Place a hold on item level with start date and expiration date.
- Place another hold on item level with period overlaping this reserve.
- Check you are warned about an existing reserve.

4 (opac side):
- Do the same than for staff side. Instead of a warn, reserve is
  prevented.

5:
- Place a hold on title (which has only one items) level with start date
  and expiration date.
- Try to checkout the unique item from this title with period overlaping
  the reserve period.
- Check you are warned about an existing reserve

6:
- Place a hold on title (which has more than one items) level with start
  date and expiration date.
- Checkout an item from this title with period overlaping the reserve
  period.
- Check you are NOT warned about an existing reserve.

7:
- Place a hold on item level with start date and expiration date.
- Checkout this item period overlaping the reserve period.
- Check you are warned about an existing reserve

8:
- Create a checkout (i.e from ${TODAY} to ${TODAY + 10 days}),
- Place a hold on the same item from ${TODAY + 11 days} to ${TODAY + 30
days}),
- Check that you cannot renew the checkout.

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Comment 5 Henri-Damien LAURENT 2022-03-10 15:21:45 UTC
Created attachment 131565 [details] [review]
Bug 15261: (QA follow-up)
Comment 6 Henri-Damien LAURENT 2022-03-10 15:21:50 UTC
Created attachment 131566 [details] [review]
Bug 15261: Prevent checkout only if for a different borrower
Comment 7 Henri-Damien LAURENT 2022-03-10 15:21:54 UTC
Created attachment 131567 [details] [review]
Bug 15261: Always check preference PreventCheckoutOnSameReservePeriod first
Comment 8 Henri-Damien LAURENT 2022-03-10 15:21:59 UTC
Created attachment 131568 [details] [review]
Bug 15261: Trying to fix after rebase