Bug 30295

Summary: Send a notification when a recall is manually canceled
Product: Koha Reporter: Aleisha Amohia <aleisha>
Component: CirculationAssignee: Aleisha Amohia <aleisha>
Status: Needs Signoff --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: andrew.auld, david, gmcharlt, kyle, Laura.escamilla, m.de.rooy, stina.hallin
Version: Main   
Hardware: All   
OS: All   
GIT URL: Initiative type: ---
Sponsorship status: Sponsored Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
This adds the option to send a notification to the patron when a recall is canceled by staff or via the OPAC. If a patron receives the notification can be set up through the messaging preferences in the patron account. This uses the new notice template `RECALL_MANUAL_CANCEL`.
Version(s) released in:
Circulation function: Recalls
Bug Depends on: 23781    
Bug Blocks: 29734    
Attachments: Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Use blessed patron to enqueue notice and QA fixes
Bug 30295: Use blessed patron to enqueue notice and QA fixes
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Use blessed patron to enqueue notice and QA fixes
Bug 30295: Add phone transport option
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Use blessed patron to enqueue notice and QA fixes
Bug 30295: Add phone transport option
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Use blessed patron to enqueue notice and QA fixes
Bug 30295: Add phone transport option
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Use blessed patron to enqueue notice and QA fixes
Bug 30295: Add phone transport option
Bug 30295: Send a notification when a recall is manually cancelled
Bug 30295: Use blessed patron to enqueue notice and QA fixes
Bug 30295: Add phone transport option
Bug 30295: (follow-up) Merge database updates into one file with success messages
Bug 30295: (follow-up) Spelling: Update cancelled to canceled
Bug 30295: (follow-up) Udpate message_attribute_id
Bug 30295: (follow-up) Display messaging preferences in right sequence

Description Aleisha Amohia 2022-03-15 01:18:01 UTC
The process would be:

1. Recall is cancelled by library staff or the requester.
2. Notification of the recall cancellation is sent via email and SMS to the recall requester.

So it would be exactly the same as the HOLD_MANUAL_CANCEL notice that we currently have for reserves, only relevant to recalls.
Comment 1 Aleisha Amohia 2022-03-16 02:00:57 UTC Comment hidden (obsolete)
Comment 2 David Nind 2022-05-11 22:39:36 UTC
Patch no longer applies:

git bz apply 30295

Bug 30295 - Send a notification when a recall is manually cancelled

131763 - Bug 30295: Send a notification when a recall is manually cancelled

Apply? [(y)es, (n)o, (i)nteractive] y
Applying: Bug 30295: Send a notification when a recall is manually cancelled
error: sha1 information is lacking or useless (Koha/Recall.pm).
error: could not build fake ancestor
Patch failed at 0001 Bug 30295: Send a notification when a recall is manually cancelled
Comment 3 Aleisha Amohia 2022-09-07 04:54:52 UTC Comment hidden (obsolete)
Comment 4 Aleisha Amohia 2022-09-07 04:58:57 UTC Comment hidden (obsolete)
Comment 5 David Nind 2023-01-30 07:59:11 UTC
The patch no longer applies 8-(..

I'll try and test a bit quicker next time!
Comment 6 Aleisha Amohia 2023-02-22 04:00:29 UTC Comment hidden (obsolete)
Comment 7 Stina Hallin 2023-03-10 08:22:01 UTC
I could not get the cancel recall notification to show up at the notices tab. I tried different patrons and different book, also tried recalling both bib and item. I did see other recall related notices, but never a recall cancelled notice.
Comment 8 Aleisha Amohia 2023-03-13 00:16:37 UTC Comment hidden (obsolete)
Comment 9 ByWater Sandboxes 2023-04-04 13:33:26 UTC Comment hidden (obsolete)
Comment 10 Andrew Auld 2023-04-04 13:37:41 UTC
Saw both the SMS and email notice.
Confirmed that the recall cancelled notice is sent both when the recall is cancelled on the staff side and also when the recall is cancelled by the patron in the OPAC.
Comment 11 Aleisha Amohia 2023-04-30 21:21:40 UTC Comment hidden (obsolete)
Comment 12 Marcel de Rooy 2023-07-14 06:50:44 UTC
Base patch set in FQA
Comment 13 Aleisha Amohia 2023-09-07 23:15:18 UTC Comment hidden (obsolete)
Comment 14 Aleisha Amohia 2023-09-07 23:16:03 UTC
Base patch set has been unblocked.

Most recent patch is a response to changes in C4::Message->enqueue, so please retest that the notice is generated and enqueued.
Comment 15 ByWater Sandboxes 2023-09-08 06:53:56 UTC Comment hidden (obsolete)
Comment 16 Stina Hallin 2023-09-08 06:54:44 UTC
Worked as described in test plan
Comment 17 Kyle M Hall (khall) 2023-10-27 10:41:59 UTC
I think this needs to have the phone transport option as well.
Comment 18 Aleisha Amohia 2023-11-09 03:09:18 UTC Comment hidden (obsolete)
Comment 19 Aleisha Amohia 2023-11-09 03:09:21 UTC Comment hidden (obsolete)
Comment 20 Aleisha Amohia 2023-11-09 03:09:24 UTC Comment hidden (obsolete)
Comment 21 David Nind 2023-11-15 20:41:26 UTC Comment hidden (obsolete)
Comment 22 David Nind 2023-11-15 20:41:29 UTC Comment hidden (obsolete)
Comment 23 David Nind 2023-11-15 20:41:32 UTC Comment hidden (obsolete)
Comment 24 Kyle M Hall (khall) 2024-02-23 14:49:24 UTC
This needs to have support for the phone transport as well.
Comment 25 Aleisha Amohia 2024-09-26 19:21:55 UTC
Created attachment 172038 [details] [review]
Bug 30295: Send a notification when a recall is manually cancelled

This patch adds a RECALL_MANUAL_CANCEL email and sms notice which will
be sent to the requestor when their recall is cancelled. This notice
can also be configured using the messaging preferences.

To test:

1. Apply the patch, update database, restart services.
2. Ensure UseRecalls system preference is enabled and values have been
set in the circulation rules for recalls
3. Log in as a patron (Patron A) to the staff client and view your account details
4. Notice there is now a 'recall cancelled' notice that can be
configured under messaging preferences
5. Confirm this notice also shows in the messaging preferences page on
the OPAC
6. Select email and sms as a preference for the 'recall cancelled' notice and
save. You may need to enable other settings to see the sms options
(SMSSendDriver for example)
7. Check out an item to another patron (Patron B)
8. Log into the OPAC as Patron A and place a recall on the checked out
item/biblio
9. Go back to the staff client and view the biblio. Go to the recalls
tab and cancel the recall.
10. Go to Patron A's accout and view their notices tab
11. Confirm the 'recall cancelled' notice has been generated for both
email and sms.

Sponsored-by: Toi Ohomai Institute of Technology
Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Comment 26 Aleisha Amohia 2024-09-26 19:21:57 UTC
Created attachment 172039 [details] [review]
Bug 30295: Use blessed patron to enqueue notice and QA fixes

Signed-off-by: Stina Hallin <stina.hallin@ub.lu.se>
Signed-off-by: David Nind <david@davidnind.com>
Comment 27 Aleisha Amohia 2024-09-26 19:22:00 UTC
Created attachment 172041 [details] [review]
Bug 30295: Add phone transport option

Signed-off-by: David Nind <david@davidnind.com>
Comment 28 Owen Leonard 2024-12-03 14:27:46 UTC
These patches all have a signoff. Should it still be "Needs signoff"
Comment 29 David Nind 2024-12-04 20:25:52 UTC
The patches no longer apply 8-(... When that is fixed, I think the status can change to signed off.

git bz apply 30295

Bug 30295 - Send a notification when a recall is manually cancelled

172038 - Bug 30295: Send a notification when a recall is manually cancelled
172039 - Bug 30295: Use blessed patron to enqueue notice and QA fixes
172041 - Bug 30295: Add phone transport option

Apply? [(y)es, (n)o, (i)nteractive] y
Applying: Bug 30295: Send a notification when a recall is manually cancelled
Using index info to reconstruct a base tree...
M	installer/data/mysql/en/mandatory/sample_notices.yml
M	installer/data/mysql/mandatory/sample_notices_message_transports.sql
Falling back to patching base and 3-way merge...
Auto-merging installer/data/mysql/mandatory/sample_notices_message_transports.sql
Auto-merging installer/data/mysql/en/mandatory/sample_notices.yml
CONFLICT (content): Merge conflict in installer/data/mysql/en/mandatory/sample_notices.yml
error: Failed to merge in the changes.
Patch failed at 0001 Bug 30295: Send a notification when a recall is manually cancelled
Comment 30 Aleisha Amohia 2025-09-11 00:08:24 UTC
Created attachment 186346 [details] [review]
Bug 30295: Send a notification when a recall is manually cancelled

This patch adds a RECALL_MANUAL_CANCEL email and sms notice which will
be sent to the requestor when their recall is cancelled. This notice
can also be configured using the messaging preferences.

To test:

1. Apply the patch, update database, restart services.
2. Ensure UseRecalls system preference is enabled and values have been
set in the circulation rules for recalls
3. Log in as a patron (Patron A) to the staff client and view your account details
4. Notice there is now a 'recall cancelled' notice that can be
configured under messaging preferences
5. Confirm this notice also shows in the messaging preferences page on
the OPAC
6. Select email and sms as a preference for the 'recall cancelled' notice and
save. You may need to enable other settings to see the sms options
(SMSSendDriver for example)
7. Check out an item to another patron (Patron B)
8. Log into the OPAC as Patron A and place a recall on the checked out
item/biblio
9. Go back to the staff client and view the biblio. Go to the recalls
tab and cancel the recall.
10. Go to Patron A's accout and view their notices tab
11. Confirm the 'recall cancelled' notice has been generated for both
email and sms.

Sponsored-by: Toi Ohomai Institute of Technology
Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Comment 31 Aleisha Amohia 2025-09-11 00:08:27 UTC
Created attachment 186347 [details] [review]
Bug 30295: Use blessed patron to enqueue notice and QA fixes

Signed-off-by: Stina Hallin <stina.hallin@ub.lu.se>
Signed-off-by: David Nind <david@davidnind.com>
Comment 32 Aleisha Amohia 2025-09-11 00:08:31 UTC
Created attachment 186348 [details] [review]
Bug 30295: Add phone transport option

Signed-off-by: David Nind <david@davidnind.com>
Comment 33 Aleisha Amohia 2025-09-11 00:09:02 UTC
(In reply to David Nind from comment #29)
> The patches no longer apply 8-(... When that is fixed, I think the status
> can change to signed off.
> 
I think I let too much time before coming back to rebase unfortunately. This should get re-tested please!
Comment 34 Katrin Fischer 2026-01-27 07:07:41 UTC
Created attachment 192078 [details] [review]
Bug 30295: Send a notification when a recall is manually cancelled

This patch adds a RECALL_MANUAL_CANCEL email and sms notice which will
be sent to the requestor when their recall is cancelled. This notice
can also be configured using the messaging preferences.

To test:

1. Apply the patch, update database, restart services.
2. Ensure UseRecalls system preference is enabled and values have been
set in the circulation rules for recalls
3. Log in as a patron (Patron A) to the staff client and view your account details
4. Notice there is now a 'recall cancelled' notice that can be
configured under messaging preferences
5. Confirm this notice also shows in the messaging preferences page on
the OPAC
6. Select email and sms as a preference for the 'recall cancelled' notice and
save. You may need to enable other settings to see the sms options
(SMSSendDriver for example)
7. Check out an item to another patron (Patron B)
8. Log into the OPAC as Patron A and place a recall on the checked out
item/biblio
9. Go back to the staff client and view the biblio. Go to the recalls
tab and cancel the recall.
10. Go to Patron A's accout and view their notices tab
11. Confirm the 'recall cancelled' notice has been generated for both
email and sms.

Sponsored-by: Toi Ohomai Institute of Technology
Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 35 Katrin Fischer 2026-01-27 07:07:43 UTC
Created attachment 192079 [details] [review]
Bug 30295: Use blessed patron to enqueue notice and QA fixes

Signed-off-by: Stina Hallin <stina.hallin@ub.lu.se>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 36 Katrin Fischer 2026-01-27 07:07:46 UTC
Created attachment 192080 [details] [review]
Bug 30295: Add phone transport option

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 37 Katrin Fischer 2026-01-27 07:07:48 UTC
Created attachment 192081 [details] [review]
Bug 30295: (follow-up) Merge database updates into one file with success messages

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 38 Katrin Fischer 2026-01-27 07:07:50 UTC
Created attachment 192082 [details] [review]
Bug 30295: (follow-up) Spelling: Update cancelled to canceled

According to:
https://wiki.koha-community.org/wiki/Terminology#C

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 39 Katrin Fischer 2026-01-27 07:07:53 UTC
Created attachment 192083 [details] [review]
Bug 30295: (follow-up) Udpate message_attribute_id

Since this patch was first written the message_attribute_id
14 was taken by "Patron_Expiry". So we need to move to 15.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 40 Katrin Fischer 2026-01-27 07:07:55 UTC
Created attachment 192084 [details] [review]
Bug 30295: (follow-up) Display messaging preferences in right sequence

This is due to the change from bug 29194 that added logical
ordering to the messaging preferences.

Without this patch the new notice showed last in list, now it
shows between Recall_Requested and Recall_Waiting.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 41 Katrin Fischer 2026-01-27 07:09:01 UTC
Hi Aleisha,

full report below, but good call with the re-testing!

Fixed in follow-up. Problem was caused by bug 29194.
(In reply to Aleisha Amohia from comment #33)
> (In reply to David Nind from comment #29)
> > The patches no longer apply 8-(... When that is fixed, I think the status
> > can change to signed off.
> > 
> I think I let too much time before coming back to rebase unfortunately. This
> should get re-tested please!

I found some issues that were mostly caused by changes since this was written. Would you mind reviewing the follow-ups and maybe signing them off?


1) QA checks - PASS!

(fails with follow-up for the merging of the database update files, but I think this is OK here)

2) Code review 

a) Atomic updates could be merged into one file and are missing "success" messages.

I'll provide a follow-up patch for this.

b) Cancelled should be canceled.

I stumbled over this as it was just a topic in the last development meeting. As we have in our coding guidelines to use AE, it should read canceled. 

https://wiki.koha-community.org/wiki/Terminology#C

Example from patches:

Recall has been cancelled
We regret to inform you that the item you have recalled cannot be provided. Your recall was cancelled.

Provided a second follow-up patch for this.

3) Testing

a) Notice was not showing up in messaging preferences

Fixed in follow-up. Problem was caused by message_transport_id mismatch (14 -> 15).

b) Notice showed at the bottom of the list instead of with other recall notices
Comment 42 Katrin Fischer 2026-01-27 07:09:54 UTC
> b) Notice showed at the bottom of the list instead of with other recall notices

Also fixed in last follow-up.