[Bug 40294] New: Mandatory patron expiration notice is not sent if patron does not have a primary contact method defined
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Bug ID: 40294 Summary: Mandatory patron expiration notice is not sent if patron does not have a primary contact method defined Change sponsored?: --- Product: Koha Version: Main Hardware: All OS: All Status: NEW Severity: major Priority: P5 - low Component: Notices Assignee: koha-bugs@lists.koha-community.org Reporter: emily.lamancusa@montgomerycountymd.gov QA Contact: testopia@bugs.koha-community.org Depends on: 30301 Bug 30301 added the option to force mandatory account expiration notices for a given patron category in the membership_expiry cron. In these cases, the primary contact method on the patron account is used to determine the transport type for the notice. However, primary contact method may not be a mandatory field depending on the system preference settings. If a patron doesn't have a primary contact method set for their account, this causes the notice not to get sent at all, even if the patron has one or more valid email addresses or SMS number on their account. We need a fallback to ensure the mandatory notice is sent in this case. I think it would make the most sense to specify transport type(s) in the patron category settings when making account expiration notices mandatory for that category. Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30301 [Bug 30301] Add an option to specify the patron expiration notices as mandatory by patron category -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 George Williams (NEKLS) <george@nekls.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |george@nekls.org -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Michael Adamyk <michael.adamyk@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |michael.adamyk@bywatersolut | |ions.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.koha-community | |.org/bugzilla3/show_bug.cgi | |?id=42539 -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrew@bywatersolutions.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #1 from Andrew Fuerste-Henry <andrew@bywatersolutions.com> --- I noticed this bug after filing Bug 42539 suggesting we manage enforcement via messaging preferences. I don't love using primary contact method in this manner. This is the only instance in which this field determines how/if a notice is sent. As Emily notes, for many libraries this is not a required field as previously it has been purely informational. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #2 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- (In reply to Andrew Fuerste-Henry from comment #1)
I noticed this bug after filing Bug 42539 suggesting we manage enforcement via messaging preferences.
I don't love using primary contact method in this manner. This is the only instance in which this field determines how/if a notice is sent. As Emily notes, for many libraries this is not a required field as previously it has been purely informational.
I agree, I think most of our libraries are not using primary contact method because it's a rather recent field and it was only informational so far. It probably means that since the change expriation notices have been broken :( -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #3 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- I agree this is major. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Danielle M. <dmeininger591@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dmeininger591@gmail.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #4 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- *** Bug 42539 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Marie-Luce Laflamme <marie-luce.laflamme@inlibro.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marie-luce.laflamme@inlibro | |.com --- Comment #5 from Marie-Luce Laflamme <marie-luce.laflamme@inlibro.com> --- This is the only notification that uses the patron's primary contact method. If the primary contact method is set to an unmatching value (for example, "secondary phone") but the patron account has a valid email address, the cron job reports an error stating that the membership_expiry notice cannot be sent using the selected contact method, even though an email copy is still sent. Using the primary contact method to override the messaging preference seems like a useful feature, but if that's the intended behaviour, it would make sense to apply it consistently across other notifications as well. On the other hand, would it make sense to fall back to the patron's email address when one is available? That would avoid unnecessary cron errors while still ensuring the notification is delivered. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Katrin Fischer <katrin.fischer@bsz-bw.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |critical --- Comment #6 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- Given all the older installations using this feature and not using primary contact (it's optional, no functionality documented yet), I think we really need to remove this dependency. It's just not right and lacks the needed flexibility a library needs - we have messaging preferences to set the transport to use. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Catrina Berka <catrina@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |catrina@bywatersolutions.co | |m --- Comment #7 from Catrina Berka <catrina@bywatersolutions.com> --- Just chiming in to agree with everyone else here that this is a big difference in behavior that ought to be reverted back. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|koha-bugs@lists.koha-commun |emily.lamancusa@montgomeryc |ity.org |ountymd.gov -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #8 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201331 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201331&action=edit Bug 40294: Show transport preference for mandatory expiry notice Restore the ability to edit the patron messaging preferences for the patron expiration notice when the notice is mandatory. If the patron expiration notice is mandatory for that patron category, it will be labeled as mandatory. Validation to enforce that at least one transport method is actually selected will be added in a follow-up. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #9 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201332 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201332&action=edit Bug 40294: Enforce mandatory expiry messages in message queue Enforce that mandatory patron expiry messages will be queued even if the patron does not have a message transport selected (e.g. if expiry notices became mandatory for a patron due to category change or settings change, and their messaging preferences have not been updated yet) If the patron does have at least one transport selected for expiry notices, their selection will be honored. If not, a fallback will be selected depending on which message transports are enabled and what contact information is defined in the patron account. In order of preference, the following transport methods will be considered: 1. email 2. phone 3. sms 4. print To test: 1. Set patron account expiry messages to mandatory for a patron category i. Got to Administration > Patron Categories ii. Click an existing patron category to edit it iii. Under the section, "Account expiry and self-renewal", set "Enforce patron account expiry notice" to Yes iv. Click Save 2. Set the following system preferences: i. Set SMSSendDriver to Email ii. Set PhoneNotification to Enable iii. Set MembershipExpiryDaysNotice to 1 3. Find or create a patron using the patron category from step 1 4. Edit the patron account and set Expiry date to tomorrow's date 4. Edit the patron's messaging preferences, if necessary, to ensure that nothing is selected for "Patron account expiry" 5. Edit the patron and add the following contact information: i. email address ii. phone number iii. smsalertnumber 6. Run the membership expiry cron job i. ktd --shell ii. perl misc/cronjobs/membership_expiry.pl 7. Open the patron's Notices tab --> An email notice should have been queued 8. Edit the patron's messaging preferences and text various settings for the "Patron account expiry" preference and re-run the cron job as in step 6 --> New notices should be queued according to the preference settings 9. Edit the patron's messaging preferences to remove all selections for "Patron account expiry" 10. Edit the patron account and delete all email addresses 11. Run the cron again --> a phone notice should have been queued 12. Repeat with various combinations of system preference settings and contact information values in the patron account --> Ensure that the cron always queues a notice, and does not queue any notices that do not make sense based on system preferences and patron account information -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #10 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201333 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201333&action=edit Bug 40294: Fix description in API spec String edit - the existing description for enforce_expiry_date was wrong -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #11 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- Hi Emily, is this ready for sign-off? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201331|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201332|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201333|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #12 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201375 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201375&action=edit Bug 40294: Show transport preference for mandatory expiry notice Restore the ability to edit the patron messaging preferences for the patron expiration notice when the notice is mandatory. If the patron expiration notice is mandatory for that patron category, it will be labeled as mandatory. Validation to enforce that at least one transport method is actually selected will be added in a follow-up. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #13 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201376 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201376&action=edit Bug 40294: Enforce mandatory expiry messages in message queue Enforce that mandatory patron expiry messages will be queued even if the patron does not have a message transport selected (e.g. if expiry notices became mandatory for a patron due to category change or settings change, and their messaging preferences have not been updated yet) If the patron does have at least one transport selected for expiry notices, their selection will be honored. If not, a fallback will be selected depending on which message transports are enabled and what contact information is defined in the patron account. In order of preference, the following transport methods will be considered: 1. email 2. phone 3. sms 4. print To test: 1. Set patron account expiry messages to mandatory for a patron category i. Got to Administration > Patron Categories ii. Click an existing patron category to edit it iii. Under the section, "Account expiry and self-renewal", set "Enforce patron account expiry notice" to Yes iv. Click Save 2. Set the following system preferences: i. Set SMSSendDriver to Email ii. Set PhoneNotification to Enable iii. Set MembershipExpiryDaysNotice to 1 3. Find or create a patron using the patron category from step 1 4. Edit the patron account and set Expiry date to tomorrow's date 4. Edit the patron's messaging preferences, if necessary, to ensure that nothing is selected for "Patron account expiry" 5. Edit the patron and add the following contact information: i. email address ii. phone number iii. smsalertnumber 6. Run the membership expiry cron job i. ktd --shell ii. perl misc/cronjobs/membership_expiry.pl 7. Open the patron's Notices tab --> An email notice should have been queued 8. Edit the patron's messaging preferences and text various settings for the "Patron account expiry" preference and re-run the cron job as in step 6 --> New notices should be queued according to the preference settings 9. Edit the patron's messaging preferences to remove all selections for "Patron account expiry" 10. Edit the patron account and delete all email addresses 11. Run the cron again --> a phone notice should have been queued 12. Repeat with various combinations of system preference settings and contact information values in the patron account --> Ensure that the cron always queues a notice, and does not queue any notices that do not make sense based on system preferences and patron account information -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #14 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201377 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201377&action=edit Bug 40294: Update tests To test: prove t/db_dependent/Koha/Patrons.t -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #15 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201378 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201378&action=edit Bug 40294: Improve descriptions and add default print notice templates Fix the description for enforce_expiry_date in the API spec Add a hint to the account category administration page about making sure all relevant membership expiration notice templates are defined. Add sample Print notice templates for MEMBERSHIP_RENEWED and MEMBERSHIP_EXPIRY, to ensure those notices will not be missed if the cron job falls back to print notices. Note that these sample notices will only be added for new installs. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |Needs Signoff -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201375|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201376|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201377|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #201378|0 |1 is obsolete| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #16 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201381 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201381&action=edit Bug 40294: Show transport preference for mandatory expiry notice Restore the ability to edit the patron messaging preferences for the patron expiration notice when the notice is mandatory. If the patron expiration notice is mandatory for that patron category, it will be labeled as mandatory. Validation to enforce that at least one transport method is actually selected will be added in a follow-up. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #17 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201382 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201382&action=edit Bug 40294: Enforce mandatory expiry messages in message queue Enforce that mandatory patron expiry messages will be queued even if the patron does not have a message transport selected (e.g. if expiry notices became mandatory for a patron due to category change or settings change, and their messaging preferences have not been updated yet) If the patron does have at least one transport selected for expiry notices, their selection will be honored. If not, a fallback will be selected depending on which message transports are enabled and what contact information is defined in the patron account. In order of preference, the following transport methods will be considered: 1. email 2. phone 3. sms 4. print To test: 1. Set patron account expiry messages to mandatory for a patron category i. Got to Administration > Patron Categories ii. Click an existing patron category to edit it iii. Under the section, "Account expiry and self-renewal", set "Enforce patron account expiry notice" to Yes iv. Click Save 2. Set the following system preferences: i. Set SMSSendDriver to Email ii. Set PhoneNotification to Enable iii. Set MembershipExpiryDaysNotice to 1 3. Define notice templates for all transport methods of MEMBERSHIP_RENEWED and MEMBERSHIP_EXPIRY i. Go to Tools > Notices and Slips ii. Edit the MEMBERSHIP_RENEWED notice iii. Expand the Phone, Print, and SMS sections iv. Fill in a Message Subject and a Message Body for each tab v. Save the notice template vi. Repeat iii-v for MEMBERSHIP_EXPIRY notice 4. Find or create a patron using the patron category from step 1 5. Edit the patron account and set Expiry date to tomorrow's date 6. Edit the patron's messaging preferences, if necessary, to ensure that nothing is selected for "Patron account expiry" 7. Edit the patron and add the following contact information: i. email address ii. phone number iii. smsalertnumber 8. Run the membership expiry cron job i. ktd --shell ii. perl misc/cronjobs/membership_expiry.pl -c 9. Open the patron's Notices tab --> An email notice should have been queued 10. Edit the patron's messaging preferences and text various settings for the "Patron account expiry" preference and re-run the cron job as in step 6 --> New notices should be queued according to the preference settings 11. Edit the patron's messaging preferences to remove all selections for "Patron account expiry" 12. Edit the patron account and delete all email addresses 13. Run the cron again --> a phone notice should have been queued 14. Repeat with various combinations of system preference settings and contact information values in the patron account --> Ensure that the cron always queues a notice, and does not queue any notices that do not make sense based on system preferences and patron account information -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #18 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201383 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201383&action=edit Bug 40294: Update tests To test: prove t/db_dependent/Koha/Patrons.t -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #19 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- Created attachment 201384 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=201384&action=edit Bug 40294: Improve descriptions and add default print notice templates Fix the description for enforce_expiry_date in the API spec Add a hint to the account category administration page about making sure all relevant membership expiration notice templates are defined. Add sample Print notice templates for MEMBERSHIP_RENEWED and MEMBERSHIP_EXPIRY, to ensure those notices will not be missed if the cron job falls back to print notices. Note that these sample notices will only be added for new installs. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 --- Comment #20 from Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> --- (In reply to Katrin Fischer from comment #11)
Hi Emily, is this ready for sign-off?
It is now! :) -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40294 Emily Lamancusa (emlam) <emily.lamancusa@montgomerycountymd.gov> changed: What |Removed |Added ---------------------------------------------------------------------------- Patch complexity|--- |Small patch -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org