You are here

function social_group_form_node_form_alter in Open Social 8.8

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  2. 8 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  3. 8.2 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  4. 8.3 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  5. 8.4 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  6. 8.5 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  7. 8.6 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  8. 8.7 modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  9. 10.3.x modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  10. 10.0.x modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  11. 10.1.x modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()
  12. 10.2.x modules/social_features/social_group/social_group.module \social_group_form_node_form_alter()

Implements hook_form_FORM_ID_alter().

Make sure the correct group is saved when group is selected on node form.

File

modules/social_features/social_group/social_group.module, line 1552
The Social group module.

Code

function social_group_form_node_form_alter(&$form, FormStateInterface $form_state) {
  if (isset($form['#entity_type']) && $form['#entity_type'] === 'node') {
    if (isset($form['groups'])) {
      $change_fieldgroup_titles = [
        'group_topic_visibility',
        'group_event_visibility',
      ];
      foreach ($change_fieldgroup_titles as $fieldgroup_title) {
        if (isset($form['#fieldgroups'][$fieldgroup_title])) {
          $form['#fieldgroups'][$fieldgroup_title]->label = (string) t('Group and visibility');
        }
      }

      // Lets remove the original submit function in favor of this submit.
      foreach ($form['actions']['submit']['#submit'] as $submit_key => $submit_function) {
        if ($submit_function === 'group_content_entity_submit') {
          unset($form['actions']['submit']['#submit'][$submit_key]);
        }
      }

      /* @var \Drupal\node\Entity\Node $node */
      $node = $form_state
        ->getFormObject()
        ->getEntity();

      // Store if the node is new or not.
      $form['is_new'] = [
        '#type' => 'value',
        '#value' => $node
          ->isNew(),
      ];
      $form['actions']['submit']['#submit'][] = 'social_group_save_group_from_node';
    }
  }
}