diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index 735f50f..16a2992 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -115,16 +115,22 @@ class ProjectController extends Controller ): RedirectResponse { $user = $request->user(); - abort_unless( $this->projectPermissionService->userCanManageProjectAccess($user, $project), 403, ); - $this->projectPermissionService->syncUserPermissions($project, $user, $request->permissions()); + $validated = $request->validated(); + $permissions = collect(Arr::get($validated, 'permissions')) + ->map(fn (mixed $permission): string => (string) $permission) + ->unique() + ->values() + ->all(); + + $this->projectPermissionService->syncUserPermissions($project, $user, $permissions); return to_route('projects.access', $project) - ->with('status', "{$user->name} permissions were updated."); + ->with('status', "Regular User permissions were updated."); } public function updateTeamPermissions( @@ -137,7 +143,14 @@ class ProjectController extends Controller 403, ); - $this->projectPermissionService->syncTeamPermissions($project, $team, $request->permissions()); + $validated = $request->validated(); + $permissions = collect(Arr::get($validated, 'permissions')) + ->map(fn (mixed $permission): string => (string) $permission) + ->unique() + ->values() + ->all(); + + $this->projectPermissionService->syncTeamPermissions($project, $team, $permissions); return to_route('projects.access', $project) ->with('status', "{$team->name} permissions were updated."); diff --git a/app/Http/Requests/SyncProjectPermissionsRequest.php b/app/Http/Requests/SyncProjectPermissionsRequest.php index 061a4b1..0e1ecc5 100644 --- a/app/Http/Requests/SyncProjectPermissionsRequest.php +++ b/app/Http/Requests/SyncProjectPermissionsRequest.php @@ -33,13 +33,6 @@ class SyncProjectPermissionsRequest extends FormRequest ]; } - public function permissions(): array - { - return collect($this->validated('permissions', [])) - ->map(fn (mixed $permission): string => (string) $permission) - ->unique() - ->values() - ->all(); - } + }