https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19532
--- Comment #318 from Alex Buckley <[email protected]> --- Created attachment 81588 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=81588&action=edit Bug 19532: Fixes and enhancements to recalls This implements the following fixes and enhancements: 1. Stopping a waiting recall from being able to be checked out to patrons other than the patron who placed the recall 2. Make the Recall confirmation popup appear everytime a recalled item is put through returns until it is checked out to recall requester 3. Introduce a new notice RECALL_REQUESTER_DET which outlines borrower and item information so the item can be put aside 4. Stop recalled items from being renewed 5. Stop display of 'Available' for waiting recalls 6. Check if recalls exist on an item before checking for reserves 7. Added ability to set Recall due date interval, and Recall pickup period in hours 8. Fix the 'Template process error Koha::Item->avail_for_recall' thrown on course page where a course reserve is currently issued Test plan: 1. Enable the UseRecalls syspref 2. Go to Circulation and Fines Rules. Put some numbers in the recalls fields (recall due date interval, recall overdue fine amount, recall pickup period) - the unit of recall due date interval and recall pickup period is either days or hours as set in the circ rule 'unit' field 3. Put a number in the RecallsMaxPickUpDelay syspref. This will be the default number of days or hours used if the recall pickup period isn't set in Step 2 4. Check out an item to a patron 5. Go to that item's detail page in the OPAC. Notice the holdings table says 'Checked out' 6. Log in to the OPAC with another patron and go back to that detail page. The holdings table should now have a Recall link next to the 'Checked out' text 7. Click the Recall button and confirm the Recall 8. Go to the user's opac summary and confirm there is now a Recalls tab, with the correct number of recalls (should be 1). 9. Test cancelling the recall by clicking Cancel. Confirm the recall has been cancelled. Repeat steps 6 and 7. 10. In the left navigation, there will also be a 'recalls history' tab. Click it. There should be a log, similar to reading history, with the cancelled recall and the new recall in it. Confirm all information is correct 11. Again, test cancelling the recall. Repeat steps 6 and 7. 12. In the staff interface, go to the logged in user's checkouts. Confirm you can see a new Recalls tab, with the active (not cancelled) recall in the table. Should be the same for the details tab also. 13. Test cancelling works for both of these again, and making new recalls again. 14. Check in the recalled item. You should see a pop up, asking to confirm the recall as waiting. Click confirm. 15. Go to the Circulation main page. You should see 3 new reports: recalls queue, overdue recalls and recalls awaiting pickup 16. Go to the recalls queue, confirm you can see an entire history of recalls at your library. Confirm cancel works when selecting checkboxes and clicking the multiple button. If you do this, you'll need to place the recall again and check the item in again 17. Go to recalls awaiting pickup. You should see the recall under the recalls waiting tab 18. in Mysql, set the waitingdate for your recall to be more than 'recall pickup period' days or hours (depends on what is set in the circ rule (unit) field) before present 19. Refresh the recalls awaiting pickup page. You should see the recall under the recalls waiting tab, and the recalls waiting more than X days/hours tab. 20. expire the recall. confirm this is expired by checking the recalls queue 21. place another recall, but do not check it in 22. in mysql, set the date_due of the checkout (issues table) to be at least 'recall due date interval' number of days or hours before today's date 23. run the overdue_notices.pl cronjob 24. go to the overdue recalls circ report and confirm your recall shows there 25. try cancelling the recall here also 26. in mysql, check the message_queue and confirm there have been the appropriate number of RETURN_RECALLED_ITEM and PICKUP_RECALLED_ITEM notices sent with the correct to and from addresses and other content 27. test t/db_dependent/Koha/Recalls.t 28. place another recall and check it in 29. Try checking the recall out to a different patron and confirm you are not able to check out a waiting recall to a different patron - This tests point #1 above 30. Check the same item in again and observe that the recall modal is displayed again and is displayed every time the item is checked in until the item is checked out to the patron who placed the recall - This tests point #2 above 31. Check the item in again and select the 'Print slip and confirm' and confirm the RECALL_REQUESTER_DET notice can be printed - This tests point #3 above 32. place a recall on an item and try to renew the item and confirm you are unable to renew recalled items - This tests point #4 above 33. Return the same item and confirm in the OPAC and staff client that the item is not shown as available - This tests point #5 above 34. Place a recall to one borrower then reserve the same item to a different borrower. Check the item in and confirm the recall modal is displayed not the reserve modal as recalls take precedence - This tests point #6 above 35. In circ and fine rules set a rules 'Fine charge interval period'=1 36. Set the 'Unit' of the circ rule to 'hours', 'Recall due date interval' = 1, 'Recall overdue fine amount'=1, 'Recall pickup period'=1 37. Check out an item to borrower A and recall it in the OPAC by borrower B 38. In the database manually change the issues.date_due to 1 hour before the current time 39. From the Koha shell run './misc/cronjobs/fines.pl' 40. Notice the fine of 1 has been applied to the borrower for being 1 hour late in returning the recall 41. Return the item and confirm the recall. Manually change the waiting date to more than 1 hour before the current time and run ./misc/cronjobs/overdue_notices.pl 42. Notice the recall is overdue now - Steps 35-42 test point #7 above 43. Enable 'UseCourseReserves' syspref 44. Check out a course reserve item to a borrower 45. In the OPAC navigate to the course page containing the issued course reserve and confirm the page loads successfully 46. Recall a course reserve and confirm the recall is successfully placed 47. Check in the recalled course reserve and confirm the recall - This tests point #8 above Sponsored-By: Toi Ohomai Institute of Technology, New Zealand -- You are receiving this mail because: You are watching all bug changes. _______________________________________________ Koha-bugs mailing list [email protected] http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
