Add reusable project templates

This commit is contained in:
2026-05-25 01:26:08 +00:00
parent 3b17c9ee14
commit 58d2edcacd
24 changed files with 1154 additions and 88 deletions
@@ -14,6 +14,8 @@ use App\Http\Requests\StoreProjectRequest;
use App\Http\Requests\SyncProjectPermissionsRequest;
use App\Http\Resources\PermissionOptionResource;
use App\Http\Resources\ProjectResource;
use App\Http\Resources\ProjectTemplateResource;
use App\Models\ProjectTemplate;
use App\Http\Resources\TeamResource;
use App\Http\Resources\UserResource;
use App\Models\Project;
@@ -52,11 +54,18 @@ class ProjectController extends Controller
403,
);
$sourceTemplates = ProjectTemplate::query()->with('sourceProject')->orderBy('name')->get();
$selectedTemplateId = $request->integer('template');
return Inertia::render('projects/Create', [
'copyAreaOptions' => DuplicateProjectConfiguration::copyAreaOptions(),
'sourceProjects' => ProjectResource::collection(
$this->listVisibleProjects->handle($request->user()),
)->resolve(),
'sourceTemplates' => ProjectTemplateResource::collection($sourceTemplates)->resolve(),
'selectedSourceTemplateId' => $sourceTemplates->contains('id', $selectedTemplateId)
? $selectedTemplateId
: null,
]);
}