team members and invitations

This commit is contained in:
Doar Mihai
2026-03-21 16:13:38 +02:00
parent 756747cd00
commit add7169de3
15 changed files with 666 additions and 31 deletions
+4 -12
View File
@@ -43,14 +43,14 @@ class ProjectController extends Controller
public function settings(Request $request, Project $project): View
{
$this->authorizeProject($request, $project);
$this->authorize('view', $project);
return view('projects.settings', compact('project'));
}
public function update(Request $request, Project $project): RedirectResponse
{
$this->authorizeProject($request, $project);
$this->authorize('update', $project);
$validated = $request->validate([
'name' => 'required|string|max:255',
@@ -64,7 +64,7 @@ class ProjectController extends Controller
public function regenerateKeys(Request $request, Project $project): RedirectResponse
{
$this->authorizeProject($request, $project);
$this->authorize('manageSettings', $project);
$project->regenerateKeys();
@@ -73,18 +73,10 @@ class ProjectController extends Controller
public function destroy(Request $request, Project $project): RedirectResponse
{
$this->authorizeProject($request, $project);
$this->authorize('delete', $project);
$project->delete();
return redirect()->route('projects.index')->with('status', 'Project deleted.');
}
private function authorizeProject(Request $request, Project $project): void
{
abort_unless(
$request->user()->projects()->where('projects.id', $project->id)->exists(),
403,
);
}
}