Details
-
Type: Improvement
-
Status: Open
-
Priority: Trivial
-
Resolution: Unresolved
-
Affects Version/s: 4.7.30
-
Fix Version/s: None
-
Component/s: CiviMember
-
Labels:None
-
Versioning Impact:Patch (backwards-compatible bug fixes)
-
Documentation Required?:None
-
Funding Source:Needs Funding
-
Verified?:No
Description
When creating a scheduled reminder for membership, the query used to build the recipient list restricts memberships based on status – limiting to membership status rules marked as current member or expired. This is hard coded into the ActionMapping for membership:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Member/ActionMapping.php#L109
I am wondering what the rationale is for that restriction. It's unexpectedly limiting, and causes silent failure for organizations with rules that don't meet those restrictions. I suspect the intent was to prevent reminders being delivered to "special" statuses such as canceled or deceased. But the query already limits to memberships that are not overridden, and any of those "special" statuses can only be applied by using the status override option.
I think we should remove that WHERE clause altogether. Or, as a more complete solution, expose the list of statuses to the UI so a user can configure a scheduled reminder and limit based on the status.