You are here

public function GroupRequestController::cancelRequest in Open Social 10.1.x

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_group/modules/social_group_request/src/Controller/GroupRequestController.php \Drupal\social_group_request\Controller\GroupRequestController::cancelRequest()
  2. 10.3.x modules/social_features/social_group/modules/social_group_request/src/Controller/GroupRequestController.php \Drupal\social_group_request\Controller\GroupRequestController::cancelRequest()
  3. 10.0.x modules/social_features/social_group/modules/social_group_request/src/Controller/GroupRequestController.php \Drupal\social_group_request\Controller\GroupRequestController::cancelRequest()
  4. 10.2.x modules/social_features/social_group/modules/social_group_request/src/Controller/GroupRequestController.php \Drupal\social_group_request\Controller\GroupRequestController::cancelRequest()

Callback to cancel the request of membership.

1 string reference to 'GroupRequestController::cancelRequest'
social_group_request.routing.yml in modules/social_features/social_group/modules/social_group_request/social_group_request.routing.yml
modules/social_features/social_group/modules/social_group_request/social_group_request.routing.yml

File

modules/social_features/social_group/modules/social_group_request/src/Controller/GroupRequestController.php, line 168

Class

GroupRequestController
Returns responses for Group request routes.

Namespace

Drupal\social_group_request\Controller

Code

public function cancelRequest(GroupInterface $group) {
  $content_type_config_id = $group
    ->getGroupType()
    ->getContentPlugin('group_membership_request')
    ->getContentTypeConfigId();
  $requests = $this
    ->entityTypeManager()
    ->getStorage('group_content')
    ->loadByProperties([
    'type' => $content_type_config_id,
    'gid' => $group
      ->id(),
    'entity_id' => $this
      ->currentUser()
      ->id(),
    'grequest_status' => GroupMembershipRequest::REQUEST_PENDING,
  ]);
  foreach ($requests as $request) {
    $request
      ->delete();
  }
  $this
    ->messenger()
    ->addMessage($this
    ->t('Membership has been successfully denied.'));
  $this->cacheTagsInvalidator
    ->invalidateTags([
    'request-membership:' . $group
      ->id(),
  ]);
  return $this
    ->redirect('social_group.stream', [
    'group' => $group
      ->id(),
  ]);
}