function social_group_request_form_alter in Open Social 10.1.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_group/modules/social_group_request/social_group_request.module \social_group_request_form_alter()
- 10.3.x modules/social_features/social_group/modules/social_group_request/social_group_request.module \social_group_request_form_alter()
- 10.0.x modules/social_features/social_group/modules/social_group_request/social_group_request.module \social_group_request_form_alter()
- 10.2.x modules/social_features/social_group/modules/social_group_request/social_group_request.module \social_group_request_form_alter()
Implements hook_form_alter().
File
- modules/
social_features/ social_group/ modules/ social_group_request/ social_group_request.module, line 238 - Primary module hooks for social_group_request module.
Code
function social_group_request_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
$social_group_types = [
'open_group',
'closed_group',
'public_group',
];
\Drupal::moduleHandler()
->alter('social_group_types', $social_group_types);
$group_membership_add_forms = [];
foreach ($social_group_types as $social_group_type) {
$group_membership_add_forms[] = "group_content_{$social_group_type}-group_membership_add_form";
}
$route = \Drupal::routeMatch()
->getRouteName();
if (in_array($form_id, $group_membership_add_forms) && $route === 'grequest.group_request_membership_approve') {
// Name of user which we're adding to the group.
$user_name = $form['entity_id']['widget'][0]['target_id']['#default_value']
->getDisplayName();
$form['question'] = [
'#type' => 'html_tag',
'#tag' => 'p',
'#value' => t('Are you sure you want to approve the membership request for @name?', [
'@name' => $user_name,
]),
'#weight' => 1,
];
// Remove possibility to select members to add to group.
if (isset($form['entity_id']['widget'][0]['target_id'])) {
unset($form['entity_id']);
}
if (isset($form['group_roles']['widget'])) {
unset($form['group_roles']);
}
$form['actions']['submit']['#value'] = t('Yes');
}
$group_forms = [];
foreach ($social_group_types as $social_group_type) {
$group_forms[] = "group_{$social_group_type}_edit_form";
$group_forms[] = "group_{$social_group_type}_add_form";
}
if (in_array($form_id, $group_forms)) {
/** @var \Drupal\group\Entity\GroupTypeInterface $group_type */
$group_type = $form_state
->getFormObject()
->getEntity()
->getGroupType();
$group_types = [
'flexible_group',
];
\Drupal::moduleHandler()
->alter('social_group_request', $group_types);
if (in_array($group_type
->id(), $group_types) || !$group_type
->hasContentPlugin('group_membership_request')) {
unset($form['allow_request']);
}
}
}