From 1c4a71410d65d9e03e198ac7a2daf6d4b21a0d2b Mon Sep 17 00:00:00 2001 From: Craig Williams Date: Mon, 28 Feb 2022 11:15:02 +0000 Subject: [PATCH] Allow manual override of accept/reject when there are no valid tokens (check to make sure this doesn't cause issues elsewhere...) --- src/Controller/OrganisationMembersController.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Controller/OrganisationMembersController.php b/src/Controller/OrganisationMembersController.php index 2575969..3b1d30b 100644 --- a/src/Controller/OrganisationMembersController.php +++ b/src/Controller/OrganisationMembersController.php @@ -444,7 +444,7 @@ class OrganisationMembersController extends SimpleController ->first(); // Process the acceptance emails etc - if (!$this->processAcceptToken($tokenOwner)) { + if (!$this->processAcceptToken($tokenOwner, true)) { return $response->withJson([], 400); } @@ -586,7 +586,7 @@ class OrganisationMembersController extends SimpleController ->first(); // Process the acceptance emails etc - if (!$this->processRejectToken($tokenOwner)) { + if (!$this->processRejectToken($tokenOwner, true)) { return $response->withJson([], 400); } @@ -1049,7 +1049,7 @@ class OrganisationMembersController extends SimpleController } - protected function processAcceptToken($tokenOwner) + protected function processAcceptToken($tokenOwner, $manual = false) { /** @var \UserFrosting\Sprinkle\Account\Database\Models\Interfaces\UserInterface $currentUser */ $currentUser = $this->ci->currentUser; @@ -1060,7 +1060,7 @@ class OrganisationMembersController extends SimpleController // Try and complete the token, bail if not found $verification = $this->ci->repoOrganisationMembershipApproval->completeForOwner($tokenOwner, ['approved' => true, 'approver_id' => $currentUser->id]); - if (!$verification) { + if (!$verification && !$manual) { $ms->addMessageTranslated('danger', 'ORGANISATION.JOIN_REQUEST.TOKEN_NOT_FOUND'); return false; } @@ -1083,7 +1083,7 @@ class OrganisationMembersController extends SimpleController return true; } - protected function processRejectToken($tokenOwner) + protected function processRejectToken($tokenOwner, $manual = false) { /** @var \UserFrosting\Sprinkle\Account\Database\Models\Interfaces\UserInterface $currentUser */ $currentUser = $this->ci->currentUser; @@ -1094,7 +1094,7 @@ class OrganisationMembersController extends SimpleController // Try and complete the token, bail if not found $verification = $this->ci->repoOrganisationMembershipApproval->completeForOwner($tokenOwner, ['approved' => false, 'approver_id' => $currentUser->id]); - if (!$verification) { + if (!$verification && !$manual) { $ms->addMessageTranslated('danger', 'ORGANISATION.JOIN_REQUEST.TOKEN_NOT_FOUND'); return false; }