diff --git a/src/Controller/OrganisationMembersController.php b/src/Controller/OrganisationMembersController.php index 58e7a20..92f3471 100644 --- a/src/Controller/OrganisationMembersController.php +++ b/src/Controller/OrganisationMembersController.php @@ -206,8 +206,6 @@ class OrganisationMembersController extends SimpleController // Begin transaction - DB will be rolled back if an exception occurs Capsule::transaction(function () use ($organisation, $currentUser, $classMapper, $config) { - $organisation->members()->detach($currentUser->id); - if ($config['organisation']['membership']['require_approval']) { // Find the mapping $tokenOwner = $classMapper->getClassMapping('organisation_member')::query() @@ -218,6 +216,8 @@ class OrganisationMembersController extends SimpleController $approval = $this->ci->repoOrganisationMembershipApproval->removeExisting($tokenOwner); } + $organisation->members()->detach($currentUser->id); + // Create activity record $this->ci->userActivityLogger->info("User {$currentUser->user_name} cancelled the request to join the organisation {$organisation->name}.", [ 'type' => 'organisation_join',