From 50d787883c0d06440594506f487cca223814ed67 Mon Sep 17 00:00:00 2001 From: Eric Peters Date: Sat, 4 Apr 2026 10:27:10 +0200 Subject: [PATCH] See if this fixes the failing test --- app/Http/Controllers/ProjectController.php | 20 ++++--------------- .../SyncProjectPermissionsRequest.php | 9 +++++++++ 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index c4b4e20..735f50f 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -64,6 +64,7 @@ class ProjectController extends Controller public function show(Request $request, Project $project): Response { $user = $request->user(); + abort_unless( $this->projectPermissionService->userCanViewProject($user, $project), 403, @@ -112,6 +113,7 @@ class ProjectController extends Controller Project $project, User $user, ): RedirectResponse { + $user = $request->user(); abort_unless( @@ -119,14 +121,7 @@ class ProjectController extends Controller 403, ); - $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); + $this->projectPermissionService->syncUserPermissions($project, $user, $request->permissions()); return to_route('projects.access', $project) ->with('status', "{$user->name} permissions were updated."); @@ -142,14 +137,7 @@ class ProjectController extends Controller 403, ); - $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); + $this->projectPermissionService->syncTeamPermissions($project, $team, $request->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 538c74f..061a4b1 100644 --- a/app/Http/Requests/SyncProjectPermissionsRequest.php +++ b/app/Http/Requests/SyncProjectPermissionsRequest.php @@ -33,4 +33,13 @@ class SyncProjectPermissionsRequest extends FormRequest ]; } + public function permissions(): array + { + return collect($this->validated('permissions', [])) + ->map(fn (mixed $permission): string => (string) $permission) + ->unique() + ->values() + ->all(); + } + }