You are here

function social_event_an_enroll_form_alter in Open Social 8.3

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  2. 8.4 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  3. 8.5 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  4. 8.6 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  5. 8.7 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  6. 8.8 modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  7. 10.3.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  8. 10.0.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  9. 10.1.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()
  10. 10.2.x modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module \social_event_an_enroll_form_alter()

Implements hook_form_alter().

Check and display "Allow anonymous enrollments" checkbox for public events.

File

modules/social_features/social_event/modules/social_event_an_enroll/social_event_an_enroll.module, line 213
The Social event AN enroll module.

Code

function social_event_an_enroll_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  $event_forms = [
    'node_event_form',
    'node_event_edit_form',
  ];
  if (in_array($form_id, $event_forms)) {
    $config = \Drupal::config('social_event_an_enroll.settings');

    // Show the checkbox only when AN enroll is enabled.
    $form['field_event_an_enroll']['#states'] = [
      'visible' => [
        ':input[name="field_content_visibility"]' => [
          'value' => 'public',
        ],
      ],
    ];

    // Set default value on event creation form.
    if ($form_id == 'node_event_form') {
      $form['field_event_an_enroll']['widget']['value']['#default_value'] = $config
        ->get('event_an_enroll_default_value');
    }

    // Set ability to change default value.
    $form['field_event_an_enroll']['widget']['value']['#disabled'] = $config
      ->get('event_an_enroll_default_value') && !$config
      ->get('event_an_enroll_allow_edit');

    // Hide checkbox if feature is disabled globally.
    $form['field_event_an_enroll']['#access'] = $config
      ->get('event_an_enroll');
  }
}