You are here

function rng_views_form_rng_event_type_form_alter in RNG - Events and Registrations 8.2

Same name and namespace in other branches
  1. 3.x rng_views/rng_views.module \rng_views_form_rng_event_type_form_alter()

Implements hook_form_BASE_FORM_ID_alter().

Rng_event_type_edit_form.

File

rng_views/rng_views.module, line 19

Code

function rng_views_form_rng_event_type_form_alter(&$form, FormStateInterface &$form_state) {

  /** @var \Drupal\Core\Entity\EntityFormInterface $form_object */
  $form_object = $form_state
    ->getFormObject();

  // This hook users BASE_ID, so this hook will be called for
  // EventTypeAccessDefaultsForm.
  if ($form_object
    ->getOperation() != 'edit') {
    return;
  }
  $form['actions']['submit']['#submit'][] = 'rng_views_form_rng_event_type_form_alter_submit';

  /** @var \Drupal\rng\Entity\RngEventType $event_type */
  $event_type = $form_object
    ->getEntity();
  $entity_type = NULL;
  if (!empty($event_type
    ->getEventEntityTypeId())) {
    $entity_type = \Drupal::entityTypeManager()
      ->getDefinition($event_type
      ->getEventEntityTypeId());
  }
  $form['views'] = [
    '#type' => 'fieldset',
    '#title' => t('Views'),
    '#tree' => TRUE,
    '#weight' => 20,
  ];
  $title = t('Create registration list');
  if ($entity_type && ($view = View::load('rng_registrations_' . $entity_type
    ->id()))) {

    /** @var \Drupal\views\Entity\View $view */
    if ($view
      ->hasLinkTemplate('edit-form')) {
      $title = t('Create registration list (<a href="@view_link">view already exists</a>)', [
        '@view_link' => $view
          ->urlInfo()
          ->toString(),
      ]);
    }
    else {
      $title = t('Create registration list (view already exists)');
    }
  }
  $form['views']['registration_list'] = [
    '#type' => 'checkbox',
    '#title' => $title,
    '#description' => t('Lists all registrations for an event. View is visible as a tab on event entity pages.'),
  ];
}