diff --git a/app/Http/Controllers/TicketController.php b/app/Http/Controllers/TicketController.php index cd19444..d9d9b79 100644 --- a/app/Http/Controllers/TicketController.php +++ b/app/Http/Controllers/TicketController.php @@ -41,6 +41,12 @@ class TicketController extends Controller } public function store(Request $request) { + $request->validate([ + 'text' => 'required|string', + 'file_ticket' => 'mimes:jpeg,jpg,png,pdf|max:2048', + 'file_ticket2' => 'mimes:jpeg,jpg,png,pdf|max:2048', + ]); + if (Auth::user()->role === 1) { $projectId = $request->project_id; } else { @@ -51,42 +57,37 @@ class TicketController extends Controller $fileTicket = $request->file_ticket; $fileTicket2 = $request->file_ticket2; - $request->validate([ - 'text' => 'required|string', - ]); - - $ticketId = Ticket::count() + 1; - - if ($fileTicket !== null) { - $request->validate([ - 'file_ticket' => 'mimes:jpeg,jpg,png,pdf|max:2048', - ]); - $projectSlug = Str::slug(Project::find($projectId)->name); - $fileName = $projectSlug . "-" . ($type === "0" ? "bug" : "evo") . "-" . $ticketId . "." . $fileTicket->extension(); - $fileTicket->move(public_path('fichiers/' . $projectSlug . "/" . $ticketId . "/"), $fileName); - $filePath = 'fichiers/' . $projectSlug . "/" . $ticketId . "/" . $fileName; - } - if ($fileTicket2 !== null) { - $request->validate([ - 'file_ticket' => 'mimes:jpeg,jpg,png,pdf|max:2048', - ]); - $projectSlug = Str::slug(Project::find($projectId)->name); - $fileName2 = $projectSlug . "-" . ($type === "0" ? "bug" : "evo") . "-" . $ticketId . "-2." . $fileTicket2->extension(); - $fileTicket2->move(public_path('fichiers/' . $projectSlug . "/" . $ticketId . "/"), $fileName2); - $filePath2 = 'fichiers/' . $projectSlug . "/" . $ticketId . "/" . $fileName2; - } - $ticket = new Ticket(); $ticket->project_id = $projectId; $ticket->type = $type; $ticket->text = $text; - if ($fileTicket !== null) - $ticket->file = $filePath; - if ($fileTicket2 !== null) - $ticket->file2 = $filePath2; $ticket->created_by = Auth::user()->id; $ticket->save(); + if ($fileTicket !== null) { + $projectSlug = Str::slug(Project::find($projectId)->name); + $fileName = $projectSlug . "-" . ($type === "0" ? "bug" : "evo") . "-" . $ticket->id . "." . $fileTicket->extension(); + $fileTicket->move(public_path('fichiers/' . $projectSlug . "/" . $ticket->id . "/"), $fileName); + $filePath = 'fichiers/' . $projectSlug . "/" . $ticket->id . "/" . $fileName; + } + if ($fileTicket2 !== null) { + $projectSlug = Str::slug(Project::find($projectId)->name); + $fileName2 = $projectSlug . "-" . ($type === "0" ? "bug" : "evo") . "-" . $ticket->id . "-2." . $fileTicket2->extension(); + $fileTicket2->move(public_path('fichiers/' . $projectSlug . "/" . $ticket->id . "/"), $fileName2); + $filePath2 = 'fichiers/' . $projectSlug . "/" . $ticket->id . "/" . $fileName2; + } + + + if ($fileTicket !== null) + $ticket->file = $filePath; + + if ($fileTicket2 !== null) + $ticket->file2 = $filePath2; + + if ($fileTicket !== null || $fileTicket2 !== null) + $ticket->save(); + + Mail::to(config('mail.MAIL_ADMIN'))->send(new NewTicket($ticket)); return redirect()->route('home')->with('success', 'Ticket enregistré !'); @@ -103,6 +104,12 @@ class TicketController extends Controller } public function update(Request $request, $id) { + $request->validate([ + 'text' => 'required|string', + 'file_ticket' => 'mimes:jpeg,jpg,png,pdf|max:2048', + 'file_ticket2' => 'mimes:jpeg,jpg,png,pdf|max:2048', + ]); + if (Auth::user()->role === 1) { $projectId = $request->project_id; $status = $request->status; @@ -114,16 +121,9 @@ class TicketController extends Controller $fileTicket = $request->file_ticket; $fileTicket2 = $request->file_ticket2; - $request->validate([ - 'text' => 'required|string', - ]); - $ticket = Ticket::findOrFail($id); if ($fileTicket !== null) { - $request->validate([ - 'file_ticket' => 'mimes:jpeg,jpg,png,pdf|max:2048', - ]); if ($ticket->file !== null && file_exists(public_path() . $ticket->file)) unlink(public_path() . $ticket->file); $projectSlug = Str::slug(Project::find($projectId)->name); @@ -132,9 +132,6 @@ class TicketController extends Controller $filePath = 'fichiers/' . $projectSlug . "/" . $ticket->id . "/" . $fileName; } if ($fileTicket2 !== null) { - $request->validate([ - 'file_ticket2' => 'mimes:jpeg,jpg,png,pdf|max:2048', - ]); if ($ticket->file2 !== null && file_exists(public_path() . $ticket->file2)) unlink(public_path() . $ticket->file2); $projectSlug = Str::slug(Project::find($projectId)->name);