You are here

function social_profile_fields_form_profile_profile_edit_form_alter in Open Social 10.3.x

Same name and namespace in other branches
  1. 10.0.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_form_profile_profile_edit_form_alter()
  2. 10.1.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_form_profile_profile_edit_form_alter()
  3. 10.2.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_form_profile_profile_edit_form_alter()

Implements hook_form_FORM_ID_alter().

File

modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module, line 112
The social profile fields module file.

Code

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

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

  /** @var \Drupal\profile\Entity\ProfileInterface $form_entity */
  $form_entity = $form_object
    ->getEntity();
  $user = \Drupal::currentUser();
  $hide_revision_field = FALSE;

  // Don't show revision field, if the user can't edit all profiles.
  if (!$user
    ->hasPermission('update any profile profile')) {
    $hide_revision_field = TRUE;
  }

  // Don't show the revision field, if user is editing it's own profile.
  if ($form_object instanceof ContentEntityFormInterface && $form_entity
    ->getEntityTypeId() === 'profile' && $user
    ->id() == $form_entity
    ->getOwnerId()) {
    $hide_revision_field = TRUE;
  }
  if ($hide_revision_field) {
    $form['revision_log_message']['#access'] = FALSE;
  }
  $form['field_profile_nationality']['#group'] = 'group_profile_contact_info';
  $form['#group_children']['field_profile_nationality'] = 'group_profile_contact_info';
}