[Koha-bugs] [Bug 8367] How long is a hold waiting for pickup at a more granular level

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Thu Aug 22 01:45:07 CEST 2019


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=8367

Hayley Mapley <hayleymapley at catalyst.net.nz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #92412|0                           |1
        is obsolete|                            |

--- Comment #113 from Hayley Mapley <hayleymapley at catalyst.net.nz> ---
Created attachment 92413
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=92413&action=edit
Bug 8367: How long is a hold waiting for pickup at a more granular level

You can now specify a pickup delay for an hold function of a patron
category and/or a item type and/or a library.
The lastpickupdate-column is set based on the given instruction and lands only
on an
open library day.
Also cancel_expired_reserves.pl now cancels only on open library days after the
last pickup
date has expired.
And waitingreserves.pl respects the new DB column.

If ReservesMaxPickUpDelay is not set prior to the databaseupdate, the
holdspickupwait-directive
is never defined, thus disabling this feature until the holdspickupwait is set.
If the issuingrules holdspickupwait is 0 or less, this feature is disabled. So
each issuingrule can disable
this feature for the material it matches, while being fully functional with
other rules.

This patch adds:
- a new column in the issuing rules, including help topics.
- a new column reserves.lastpickupdate (+old_reserves)
  It contains the waitingdate + the corresponding "holds pickup wait".
  Each time the waitingdate is modified, this value will be modified too.
- a new field issuingrules.holdspickupwait
- a new function C4::Reserves::MoveWaitingdate() to help in testing this
feature.
- a new function C4::Reserves::GetLastPickupDate() to calculate the proper date
from Calendar.

This patch removes:
- the ReservesMaxPickUpDelay syspref.
- the ExpireReservesOnHolidays syspref, because it became obsolete due to the
changes in
  handling the last pickup date with Koha Calendar.
- Also removes a code section from C4::Letters::_parseLetter() which worked
blatantly
  disrespectfully towards Koha Calendar.
- TODO figure out how to rename existing letter placeholders <<expirationdate>>
with <<lastpickupdate>>

Unit tests included.

$$$$$$$$$$$$$
$ TEST PLAN $
$$$$$$$$$$$$$

0. BEFORE UPDATING THE DATABASE! MAKE SURE THAT THE SYSPREF
'ReservesMaxPickUpDelay' is bigger than 0.
   Otherwise existing reserves won't get UPDATEd with the new
lastpickupdate-values.

          ****** ******
*** *** *** TEST: BASIC WORKFLOW *
          ****** ******
1. Check there is no regression with a normal reserve workflow.
2. Add one or more issuingrules.
3. Update the new column 'Holds pickup wait' in your issuing rules.
4. In the 3 templates of staff client, you can see the 'Last pickup date' for
an hold
   (circ/circulation.pl, circ/waitingreserves.pl, members/moremember.pl)
5. In opac-user.pl the last pickup date is displayed in the status-column if
available.
5. According to a library and an item type, the lastpickupdate value will be
   equal to the waiting date + the "holds pickup wait" defined moved to the
   next open library day.

          ****** ******
*** *** *** TEST: LETTER PLACEHOLDER (no code modifications here, just
regression)*
          ****** ******
1. Modify the RESERVESLIP->email Letter. Add "Last pickup
date<<reserves.lastpickupdate>>"
   somewhere.
2. Make a hold for a borrower.
3. Catch the hold and print the reserve slip. Verify that the lastpickupdate is
actually
   the (current date + the 'Holds pickup wait' in your issuing rules) in days.

          ** ** ** ** ** **
*** *** *** TEST: RESPECTING CALENDAR HOLIDAYS *
          ** ** ** ** ** **
1) Note your ReservesMaxPickUpDelay setting.
2) Create and trap a hold
3) View waitingreserves.pl, note the last pickup date, and the pickup
   location
4) Cancel this hold
5) Edit the calendar for the given location, and make the pickup date a
   single, unrepeated, holiday. Then make the next day a weekly repeating
holiday.
   Then make the next two days an annual holiday repeatable every year.
6) Repeat step 2
7) View waitingreserves.pl, the last pickup date for this new hold
   should now be increased by four days.

          ** ** ** ** ** **
*** *** *** TEST: LETTER lastpickupdate PLACEHOLDER AND REGRESSION *
          ** ** ** ** ** **
1. Modify the HOLD-letter, add <<reserves.lastpickupdate>> and
<<reserves.waitingdate>>
   somewhere.
2. Catch a hold for a borrower.
3. See the members/notices.pl for the message queued and verify that the
   lastpickupdate-placeholder is set in your desired datetime format and
   that it is not on a holiday. Verify that the waitingdate is today.

Conflicts:
        installer/data/mysql/updatedatabase.pl

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list