Untitled
unknown
plain_text
2 years ago
2.8 kB
7
Indexable
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Maintenance; use Illuminate\Validation\Rule; class MaintenanceController extends Controller { public function index() { $maintenance=Maintenance::all(); return view('back.allMaintenance',['maintenance'=>$maintenance]); } public function create(Request $request) { $reclamationId = $request->input('reclamation_id'); return view('back.addMaintenance', compact('reclamationId')); } public function store(Request $request) { $request->validate([ 'reclamation_id' => 'required', 'date_debut' => [ 'required', 'date', 'after_or_equal:today', ], 'date_fin' => [ 'required', 'date', 'after:date_debut', ], ], [ 'reclamation_id.required' => 'Le champ Réclamation est requis.', 'date_debut.required' => 'Le champ Date de début est requis.', 'date_debut.date' => 'Le champ Date de début doit être une date valide.', 'date_debut.after_or_equal' => 'Le champ Date de début doit être égale ou postérieure à aujourd\'hui.', 'date_fin.required' => 'Le champ Date de fin est requis.', 'date_fin.date' => 'Le champ Date de fin doit être une date valide.', 'date_fin.after' => 'Le champ Date de fin doit être postérieure à la date de début.', ]); $reclamationId = $request->input('reclamation_id'); $dateDebut = $request->input('date_debut'); $dateFin = $request->input('date_fin'); // Vous n'avez pas besoin de spécifier 'etat' ici, il sera par défaut 'pending'. // Créez la nouvelle Maintenance avec les valeurs appropriées. Maintenance::create([ 'reclamation_id' => $reclamationId, 'date_debut' => $dateDebut, 'date_fin' => $dateFin, 'etat'=>"in_progress" ]); // Redirigez l'utilisateur avec un message de succès. return redirect(route('maintenance.index'))->with('success', 'Maintenance créée avec succès'); } public function edit(Maintenance $maintenance) { return view('back.editMaintenance',['maintenance'=>$maintenance]); } public function update(Request $request, Maintenance $maintenance) { $newDateFin = $request->input('date_fin'); // Mettez à jour la date de fin de la maintenance $maintenance->date_fin = $newDateFin; $maintenance->save(); // Redirigez l'utilisateur ou affichez un message de confirmation. return redirect()->route('maintenance.index')->with('success', 'Date de fin mise à jour avec succès'); } }
Editor is loading...