Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
2.9 kB
2
Indexable
Never
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Reclamation;

class ReclamationController extends Controller
{
    //
    public function index()
    {
        $reclamation=Reclamation::all();
        return view('back.allReclamation',['reclamation'=>$reclamation]);
    }
    public function indexF()
    {
        $reclamation = Reclamation::all();
        return view('front.reclamations', compact('reclamation'));
    }
    public function store(Request $request)
    {
        $data = $request->validate([
            'id_user' => 'required',
            'objet' => 'required|string',
            'contenu' => 'required|string',
        ]);
        $data['status'] = 'Pending';
    
        // Create a new Reclamation instance
        Reclamation::create($data);
    
        return redirect()->route('reclamations.indexF')->with('success', 'Reclamation added successfully.');
    }
    public function updateStatus(Request $request, $id)
{
    $reclamation = Reclamation::findOrFail($id);

    $data = $request->validate([
        'status' => 'required|in:Pending,In Progress,Resolved',
    ]);

    $reclamation->update($data);

    return redirect()->route('reclamation.index')->with('success', 'Status updated successfully.');
}
public function showF (Reclamation $reclamation)
{
    return view('front.createReclamation', compact('reclamation'));
}

    public function destroy($id)
{
    // Recherchez la réclamation que vous souhaitez supprimer par son ID
    $reclamation = Reclamation::find($id);

    if (!$reclamation) {
        return redirect()->route('reclamations.indexF')->with('error', 'Réclamation non trouvée.');
    }

    // Supprimez la réclamation
    $reclamation->delete();

    return redirect()->route('reclamations.indexF')->with('success', 'Réclamation supprimée avec succès.');
}
public function update(Request $request, $id)
{
    // Validate the incoming request data
    $this->validate($request, [
        'objet' => 'required|string',
        'contenu' => 'required|string',
    ]);

    try {
        $reclamation = Reclamation::findOrFail($id);

        // Update the record
        $reclamation->update([
            'objet' => $request->input('objet'),
            'contenu' => $request->input('contenu'),
        ]);

        return response()->json(['message' => 'Réclamation mise à jour avec succès']);
    } catch (\Exception $e) {
        return response()->json(['error' => 'Une erreur s\'est produite lors de la mise à jour de la réclamation.'], 500);
    }
    
}
public function redirectToMaintenance($reclamationId) {
    // Vous pouvez ajouter du code pour vérifier si la réclamation existe ou d'autres traitements ici
    return redirect()->route('maintenance.create', ['reclamation_id' => $reclamationId]);
}



    
}