You are here

function entity_hierarchy_views_form_node_form_alter in Entity Reference Hierarchy 8

@todo Please document this function.

See also

http://drupal.org/node/1354

File

entity_hierarchy_views/entity_hierarchy_views.module, line 116
Contains entity_hierarchy_views.module..

Code

function entity_hierarchy_views_form_node_form_alter(&$form, FormStateInterface $form_state, $form_id) {

  //  $form = array();
  $node = $form_state
    ->getFormObject()
    ->getEntity();

  /** @var \Drupal\entity_hierarchy\HierarchyManager $hierarchy_manager */
  $hierarchy_manager = \Drupal::service('entity_hierarchy.manager');
  $type = $node
    ->getType();

  //  dpm($node);
  //  dpm($node->nh_children_view);
  $default_value = NULL;
  if (!empty($node->nh_children_view)) {
    $display = !empty($node->nh_children_view_display) ? $node->nh_children_view_display : 'default';
    $default_value = $node->nh_children_view . ':' . $display;
  }
  if ($node && $hierarchy_manager
    ->hierarchyCanBeParent($type)) {
    $form['hierarchy']['nh_children_view'] = array(
      '#type' => \Drupal::currentUser()
        ->hasPermission('edit embedded child view') ? 'select' : 'value',
      '#title' => t('Embed Children View'),
      '#multiple' => FALSE,
      '#options' => _entity_hierarchy_views_view_options(),
      '#required' => FALSE,
      '#default_value' => $default_value,
      '#description' => t("Embed a view containing this node's children into the node's page view"),
    );
    $form['#entity_builders'][] = 'entity_hierarchy_views_node_builder';
  }
}