Recalls cronjobs and expiry fixes
Jump to navigation
Jump to search
Fixing recalls cronjobs and improving the expiry functionality, sponsored by Waikato Institute of Technology.
Fixes include:
- (hopefully) fixed the overdue and expiry recalls cronjobs
- fixed the expiration date not saving in the db correctly, and not showing in recalls tables correctly
- added a minimum date to the expiration date when placing a recall on the OPAC side - as currently you can set the expiration date to before the recall is placed!
- fixed the 'checkin and set waiting' button on the recalls queue (circ/recalls_queue.pl) and biblio recalls page (recalls/request.pl?biblionumber=X) - if there was a biblio-level recall and the item had been returned but the recall not set to waiting, this button did not work
- added the 'Expire' option to biblio recalls page (recalls/request.pl?biblionumber=X), waiting recalls (circ/recalls_waiting.pl), member checkouts (circ/circulation.pl?borrowernumber=Y) and member details (members/moremember.pl?borrowernumber=Y)
- moved recall actions into dropdown menu on biblio recalls page (recalls/request.pl?biblionumber=X) and waiting recalls (circ/recalls_waiting.pl)
- fixed bug where recall actions only work on first row in a table
Getting started
We need three borrowers (Borrower A, Borrower B, Borrower C) and a biblio (Biblio A) with one item (Item A). You need to be able to log in to the OPAC as both Borrower B and Borrower C.
Test plan (this will take four days of testing)
Day 1
- Adjust your circulation rules for testing. Set 'recall pickup period' to 1 and 'recall due date interval' to 0 (Recall pickup period cannot be set to 0, otherwise it will default to using the system preference RecallsMaxPickUpDelay)
- Check out Item A to Borrower A
- Log in to OPAC as Borrower B and place biblio-level recall on Item A (Recall A)
- Log in to OPAC as Borrower C and place any type of recall on Item A, set the expiration date to expire tomorrow (Recall B). Notice you must select a date that is today or in the future
- Log back into the staff side
- Go to the recalls page for the biblio you placed the recall on (recalls/request.pl?biblionumber=X) and confirm the expiration date shows for Recall B
- Click the actions dropdowns for both recalls, confirm both dropdowns open and show the options 'Cancel' and 'check in and set waiting' - don't press any buttons
- Go to Borrower A's page and confirm their checkout is due today
Day 2
- Check that the status for Borrower B's recall (Recall A) now says 'overdue to be returned'
- Check in Item A. Confirm the item as waiting for Borrower B
Day 3
- Confirm Borrower C's recall (Recall B) has now been expired due to no longer being needed - check Old recalls (circ/recalls_old_queue.pl) or borrower recall history (members/recallshistory.pl?borrowernumber=Y)
Day 4
- Confirm Borrower B's recall (Recall A) has now been expired due to surpassing recall pickup period - check Old recalls (circ/recalls_old_queue.pl) or borrower recall history (members/recallshistory.pl?borrowernumber=Y)
- Check out Item A to Borrower A again
- Log into the OPAC as Borrower B and place a recall on Item A
- Log back into the staff side and check in Item A. Set the recall as waiting for Borrower B
- Go to Borrower B's detail page (members/moremember.pl?borrowernumber=Y) and confirm you are able to successfully expire the recall
- If you like, you can do this test again and check expiring the recall works on the member checkouts page (circ/circulation.pl?borrowernumber=Y)
- Check out Item A to Borrower A again
- Log into the OPAC as Borrower B and place a recall on Item A
- Log back into the staff side and check in Item A. Do not set the recall as waiting
- Go to the biblio recall page (recalls/request.pl?biblionumber=X) and click the 'Check in and set waiting' button. Confirm this works successfully
Other links
Go back to main recalls page