CRM_Member_ActionMapping
class CRM_Member_ActionMapping extends Mapping
Class CRM_Member_ActionMapping
This defines the scheduled-reminder functionality for CiviMember memberships. It allows one to target reminders based on join date or end date, with additional filtering based on membership-type.
Constants
MEMBERSHIP_TYPE_MAPPING_ID |
The value for civicrm_action_schedule.mapping_id which identifies the "Membership Type" mapping. Note: This value is chosen to match legacy DB IDs. |
Properties
protected | $id | from Mapping | |
protected string | $entity | The basic entity to query (table name). | from Mapping |
Methods
Get a list of available date fields.
Get a list of recipients which match the given type.
Determine whether a schedule based on this mapping is sufficiently complete.
Generate a query to locate recipients who match the given schedule.
Determine whether a schedule based on this mapping should reset the reminder state if the trigger date changes.
Register CiviMember-related action mappings.
Filter out the memberships that are inherited from a contact that the recipient cannot edit.
Details
in Mapping at line 94
__construct(array $params)
Class constructor.
in Mapping at line 167
mixed
getId()
in Mapping at line 174
string
getEntity()
in Mapping at line 183
string
getLabel()
Get a printable label for this mapping type.
in Mapping at line 192
string
getValueHeader()
Get a printable label to use a header on the 'value' filter.
in Mapping at line 201
string
getStatusHeader()
Get a printable label to use a header on the 'status' filter.
in Mapping at line 212
array
getValueLabels()
Get a list of value options.
in Mapping at line 226
array
getStatusLabels(string|int $value)
Get a list of status options.
at line 69
array
getDateFields()
Get a list of available date fields.
in Mapping at line 265
array
getRecipientTypes()
Get a list of recipient types.
Note: A single schedule may filter on zero or one recipient types. When an admin chooses a value, it's stored in $schedule->recipient.
in Mapping at line 282
array
getRecipientListing(string $recipientType)
Get a list of recipients which match the given type.
Note: A single schedule may filter on multiple recipients. When an admin chooses value(s), it's stored in $schedule->recipient_listing.
in Mapping at line 286
static protected
getValueLabelMap($name)
in Mapping at line 328
array
validateSchedule(CRM_Core_DAO_ActionSchedule $schedule)
Determine whether a schedule based on this mapping is sufficiently complete.
at line 90
CRM_Utils_SQL_Select
createQuery(CRM_Core_DAO_ActionSchedule $schedule, string $phase, array $defaultParams)
Generate a query to locate recipients who match the given schedule.
at line 178
bool
resetOnTriggerDateChange(CRM_Core_DAO_ActionSchedule $schedule)
Determine whether a schedule based on this mapping should reset the reminder state if the trigger date changes.
at line 51
static
onRegisterActionMappings(MappingRegisterEvent $registrations)
Register CiviMember-related action mappings.
at line 157
protected CRM_Utils_SQL_Select
prepareMembershipPermissionsFilter()
Filter out the memberships that are inherited from a contact that the recipient cannot edit.