function opigno_calendar_event_opigno_calendar_event_form_validate in Opigno calendar 8
Same name and namespace in other branches
- 3.x opigno_calendar.module \opigno_calendar_event_opigno_calendar_event_form_validate()
Custom validation.
1 string reference to 'opigno_calendar_event_opigno_calendar_event_form_validate'
- opigno_calendar_form_alter in ./
opigno_calendar.module - Implements hook_form_alter().
File
- ./
opigno_calendar.module, line 237 - Contains opigno_calendar.module.
Code
function opigno_calendar_event_opigno_calendar_event_form_validate(&$form, FormStateInterface $form_state) {
if (!isset($_GET["ajax_form"])) {
$no_errors = TRUE;
$title = $form_state
->getValue('title');
if (empty($title[0]['value'])) {
$form_state
->setErrorByName('title', t("Please enter a title!"));
$no_errors = FALSE;
}
$date = $form_state
->getValue('date_daterange');
if (isset($date[0]["value_wrapper"]["date"]) && empty($date[0]["value_wrapper"]["date"])) {
$form_state
->setErrorByName('date_daterange', t("Please select start date!"));
$no_errors = FALSE;
}
if (isset($date[0]["end_value_wrapper"]["date"]) && empty($date[0]["end_value_wrapper"]["date"])) {
$form_state
->setErrorByName('date_daterange', t("Please select end date!"));
$no_errors = FALSE;
}
if ($no_errors) {
$storage = $form_state
->getStorage();
if (!empty($storage["current_user_id"])) {
$add_as_member = FALSE;
$members = $form_state
->getValue('field_calendar_event_members');
if ($form["#form_id"] == 'opigno_calendar_event_opigno_calendar_event_form') {
// If event was just created.
$add_as_member = TRUE;
}
else {
// If event was edited.
$route = \Drupal::routeMatch();
if ($event = $route
->getParameter('opigno_calendar_event')) {
// Get event author.
$author_id = $event
->get('uid')
->getValue();
$author_id = $author_id[0]['target_id'];
if ($author_id == $storage["current_user_id"] && !in_array($storage["current_user_id"], array_column($members, 'target_id'))) {
$add_as_member = TRUE;
}
}
}
if ($add_as_member) {
// Add current user as a member if he is an author.
$members[] = [
'target_id' => $storage["current_user_id"],
];
$form_state
->setValue('field_calendar_event_members', $members);
}
}
}
}
}