Add project general settings danger zone
linter / quality (pull_request) Successful in 1m18s
tests / ci (8.4) (pull_request) Successful in 1m26s

This commit is contained in:
2026-04-11 17:42:43 +02:00
parent 50d4d864b5
commit 97b188e942
11 changed files with 470 additions and 3 deletions
@@ -12,6 +12,7 @@ use App\Models\User;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Validation\Rule;
use Inertia\Inertia;
use Inertia\Response;
@@ -44,6 +45,7 @@ class ProjectController extends Controller
return Inertia::render('projects/Index', [
'projects' => $projectQuery
->get(),
'status' => session('status'),
]);
}
@@ -76,6 +78,14 @@ class ProjectController extends Controller
]);
}
public function general(Request $request, Project $project): Response
{
return Inertia::render('projects/settings/General', [
'project' => $project,
'status' => session('status'),
]);
}
public function access(Request $request, Project $project): Response
{
$user = $request->user();
@@ -146,4 +156,24 @@ class ProjectController extends Controller
return to_route('projects.access', $project)
->with('status', "{$team->name} permissions were updated.");
}
public function destroy(Request $request, Project $project): RedirectResponse
{
$request->validate([
'confirmation_key' => [
'required',
'string',
Rule::in([$project->key]),
],
], [
'confirmation_key.in' => 'Enter the exact project key to confirm deletion.',
]);
$projectName = $project->name;
$project->delete();
return to_route('projects.index')
->with('status', "Project {$projectName} was deleted.");
}
}