ldc-supportweb/app/Http/Controllers/ProjectController.php
2021-04-18 10:43:36 +02:00

55 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\StoreProject;
use App\Http\Requests\UpdateProject;
use App\Models\Project;
use App\Models\Ticket;
class ProjectController extends Controller
{
public function index()
{
$projects = Project::all();
return view('project.index', compact('projects'));
}
public function create()
{
return view('project.create');
}
public function store(StoreProject $request)
{
$project = new Project($request->validated());
$project->saveOrFail();
return redirect()->route('project.index');
}
public function edit(Project $project)
{
return view('project.edit', [
'project' => $project
]);
}
public function update(UpdateProject $request, Project $project)
{
$project->fill($request->validated());
$project->saveOrFail();
return redirect()->back()->with('success', 'Modifications enregistrées !');
}
public function destroy(Project $project)
{
if (Ticket::where('project_id', $project->id)->count()) {
return redirect()->back()
->withErrors("Ce projet ne peut être supprimer, des tickets lui sont encore liés.");
}
$project->delete();
return redirect()->route('project.index');
}
}