DEleted function in request and changed the way the controller uses it,
linter / quality (pull_request) Successful in 1m13s
tests / ci (8.4) (pull_request) Failing after 1m15s

This commit is contained in:
Eric Peters
2026-04-03 16:50:00 +02:00
parent 2c1a0cbff3
commit 1c355c20b4
27 changed files with 285 additions and 263 deletions
+29 -8
View File
@@ -11,6 +11,7 @@ use App\Models\Team;
use App\Models\User;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Inertia\Inertia;
use Inertia\Response;
@@ -23,11 +24,13 @@ class ProjectController extends Controller
public function index(Request $request): Response
{
$user = $request->user();
$projectQuery = Project::query()
->orderByDesc('id');
if (! $request->user()->is_admin) {
$viewableProjectIds = $this->projectPermissionService->viewableProjectIds($request->user());
if (! $user->is_admin) {
$viewableProjectIds = $this->projectPermissionService->viewableProjectIds($user);
if ($viewableProjectIds === []) {
return Inertia::render('projects/Index', [
@@ -60,21 +63,23 @@ class ProjectController extends Controller
public function show(Request $request, Project $project): Response
{
$user = $request->user();
abort_unless(
$this->projectPermissionService->userCanViewProject($request->user(), $project),
$this->projectPermissionService->userCanViewProject($user, $project),
403,
);
return Inertia::render('projects/Show', [
'canManageAccess' => $this->projectPermissionService->userCanManageProjectAccess($request->user(), $project),
'canManageAccess' => $this->projectPermissionService->userCanManageProjectAccess($user, $project),
'project' => $project,
]);
}
public function access(Request $request, Project $project): Response
{
$user = $request->user();
abort_unless(
$this->projectPermissionService->userCanManageProjectAccess($request->user(), $project),
$this->projectPermissionService->userCanManageProjectAccess($user, $project),
403,
);
@@ -107,12 +112,21 @@ class ProjectController extends Controller
Project $project,
User $user,
): RedirectResponse {
$user = $request->user();
abort_unless(
$this->projectPermissionService->userCanManageProjectAccess($request->user(), $project),
$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.");
@@ -128,7 +142,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.");