function social_event_invite_event_enrollment_insert in Open Social 10.3.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_event_enrollment_insert()
- 10.0.x modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_event_enrollment_insert()
- 10.1.x modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_event_enrollment_insert()
- 10.2.x modules/social_features/social_event/modules/social_event_invite/social_event_invite.module \social_event_invite_event_enrollment_insert()
Sends email when invitation created for not registered user.
Implements hook_ENTITY_TYPE_insert().
File
- modules/
social_features/ social_event/ modules/ social_event_invite/ social_event_invite.module, line 23 - The Social event invite enroll module.
Code
function social_event_invite_event_enrollment_insert(EventEnrollmentInterface $eventEnrollment) {
$messenger = \Drupal::messenger();
$mail = $eventEnrollment
->get('field_email')
->getString();
$langcode = 'en';
$mailManager = \Drupal::service('plugin.manager.mail');
$from = $eventEnrollment
->get('user_id')
->first()
->get('entity')
->getTarget()
->getValue();
$node = $eventEnrollment
->get('field_event')
->first()
->get('entity')
->getTarget()
->getValue();
$params = [
'user' => $from,
'node' => $node,
'existing_user' => TRUE,
'event_enrollment' => $eventEnrollment
->id(),
];
// Only set this message when the request status is pending.
if ((int) $eventEnrollment
->get('field_request_or_invite_status')->value === EventEnrollmentInterface::INVITE_PENDING_REPLY && empty($eventEnrollment
->get('field_account')
->getString())) {
// Send a normal mail when the user has no account yet.
$params['existing_user'] = FALSE;
$mailManager
->mail('social_event_invite', 'invite', $mail, $langcode, $params, NULL, TRUE);
}
}