Skip to content
Snippets Groups Projects
Commit 1da9666b authored by Nikolay Lobachev's avatar Nikolay Lobachev
Browse files

Issue #3301006 by LOBsTerr: Replace custom route access check with GroupInstalledContentAccessCheck

parent 11eeaf84
Branches
Tags
No related merge requests found
......@@ -4,7 +4,7 @@ ginvite.invitation.accept:
_controller: '\Drupal\ginvite\Controller\InvitationOperations::accept'
_title: 'Accept invitation and join group'
requirements:
_custom_access: '\Drupal\ginvite\Controller\InvitationOperations::checkAccess'
_group_installed_content: 'group_invitation'
options:
parameters:
group_relationship:
......@@ -16,7 +16,7 @@ ginvite.invitation.decline:
_controller: '\Drupal\ginvite\Controller\InvitationOperations::decline'
_title: 'Decline invitation'
requirements:
_custom_access: '\Drupal\ginvite\Controller\InvitationOperations::checkAccess'
_group_installed_content: 'group_invitation'
options:
parameters:
group_relationship:
......
......@@ -163,29 +163,6 @@ class InvitationOperations extends ControllerBase {
return $this->redirect('user.page');
}
/**
* Checks if this current has access to update invitation.
*
* @param \Drupal\group\Entity\GroupRelationshipInterface $group_relationship
* Invitation entity.
*
* @return \Drupal\Core\Access\AccessResult
* Access check result.
*/
public function checkAccess(GroupRelationshipInterface $group_relationship) {
$invited_user_id = $group_relationship->getEntityId();
$group = $group_relationship->getGroup();
$membership = $this->membershipLoader->load($group, $this->currentUser());
$current_state = $group_relationship->get('invitation_status')->value;
// Only allow user accept/decline own invitations.
if ($invited_user_id == $this->currentUser()->id() && !$membership && (int) $current_state === GroupInvitation::INVITATION_PENDING) {
return AccessResult::allowed();
}
return AccessResult::forbidden();
}
/**
* Renders title for the group invite member route.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment