public function SocialEventEnrollService::isEnabled in Open Social 10.3.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
- 8.5 modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
- 8.6 modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
- 8.7 modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
- 8.8 modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
- 10.0.x modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
- 10.1.x modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
- 10.2.x modules/social_features/social_event/src/Service/SocialEventEnrollService.php \Drupal\social_event\Service\SocialEventEnrollService::isEnabled()
Check if enrollment is allowed for given event.
Parameters
\Drupal\node\NodeInterface $node: A node.
Return value
bool TRUE if enrollment is allowed.
Overrides SocialEventEnrollServiceInterface::isEnabled
File
- modules/
social_features/ social_event/ src/ Service/ SocialEventEnrollService.php, line 36
Class
- SocialEventEnrollService
- Class SocialEventEnrollService.
Namespace
Drupal\social_event\ServiceCode
public function isEnabled(NodeInterface $node) {
if ($this->eventSettings
->get('disable_event_enroll') || !$node
->hasField('field_event_enable_enrollment') || $node
->get('field_event_enable_enrollment')
->isEmpty() || !(bool) $node
->get('field_event_enable_enrollment')
->first()
->getValue()['value']) {
return FALSE;
}
if ($node
->bundle() === 'event' && $node
->hasField('field_event_enroll')) {
$was_not_changed = $node
->get('field_event_enroll')
->isEmpty();
$is_enabled = $node
->get('field_event_enroll')
->first()
->getValue()['value'];
// Make an exception for the invite enroll method.
// This doesn't allow people to enroll themselves, but get invited.
if (!$node
->get('field_enroll_method')
->isEmpty() && (int) $node
->get('field_enroll_method')
->first()
->getValue()['value'] === EventEnrollmentInterface::ENROLL_METHOD_INVITE) {
$is_enabled = TRUE;
}
return $was_not_changed || $is_enabled;
}
return FALSE;
}