ldc-supportweb/app/Http/Controllers/ProjectController.php
2020-11-18 10:23:51 +01:00

56 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Project;
use App\Models\Ticket;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
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(Request $request) {
$project = new Project();
$project->name = $request->name;
$project->save();
return redirect()->route('projects');
}
public function edit($id) {
$project = Project::findOrFail($id);
return view('project.edit', compact('project'));
}
public function update(Request $request, $id) {
$project = Project::findOrFail($id);
$projectSlug = Str::slug($project->name);
if (file_exists(public_path('fichiers/' . $projectSlug)))
rename(public_path('fichiers/' . $projectSlug), public_path('fichiers/' . Str::slug($request->name)));
$project->name = $request->name;
$project->save();
return redirect()->back()->with('success', 'Modifications enregistrées !');
}
public function destroy($id) {
$project = Project::findOrFail($id);
$tickets = Ticket::where('project_id', $project->id)->count();
if ($tickets > 0)
return redirect()->back()->withErrors("Ce projet ne peut être supprimer, des tickets lui sont encore liés.");
$project->delete();
return redirect()->route('projects');
}
}