You are here

function social_group_group_type_permission_check in Open Social 8.9

Same name and namespace in other branches
  1. 8.4 modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  2. 8.5 modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  3. 8.6 modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  4. 8.7 modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  5. 8.8 modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  6. 10.3.x modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  7. 10.0.x modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  8. 10.1.x modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()
  9. 10.2.x modules/social_features/social_group/social_group.module \social_group_group_type_permission_check()

Check if a User is able to edit a Group's GroupType.

Return value

bool TRUE if a user may edit a existings groups group type.

1 call to social_group_group_type_permission_check()
social_group_form_alter in modules/social_features/social_group/social_group.module
Implements hook_form_alter().

File

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

Code

function social_group_group_type_permission_check() {
  $user = \Drupal::currentUser();

  // Get the Group object from the route.
  $group = _social_group_get_current_group();

  // Check if we have a default visibility, if we don't it must be a custom
  // group type, we need to have a visibility in order to update group content.
  // please see hook_social_group_default_visibility_alter.
  if (\Drupal::service('social_group.helper_service')
    ->getDefaultGroupVisibility($group
    ->getGroupType()
    ->id()) === NULL) {
    return FALSE;
  }

  // Otherwise return true when we are able to edit the current group type.
  return $group instanceof GroupInterface && $user
    ->hasPermission('edit group types');
}