%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/apache/htdocs/app/Http/Controllers/
Upload File :
Create Path :
Current File : //usr/local/apache/htdocs/app/Http/Controllers/GestionnaireController.php

<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\MessageBag;

class GestionnaireController extends Controller
{
    public function index(Request $request){
        
        $gestionnaires = User::role('gestionnaire')->paginate(100);
        return view('Employees.gestionnaires.index', compact('gestionnaires'));
    }

    public function store(Request $request, $id = 0){
        
        $errors = new MessageBag();

        $validator = Validator::make($request->all(), [

           
            'phone' => 'required|unique:users,phone,'.$id,
            'email' => 'required|unique:users,email,'.$id,
            'cin' => 'required',
        ]);

        if ($validator->fails()) {
            return redirect(url()->previous())
                ->withErrors($validator)
                ->withInput();
        }

        $gestionnaire = new User;

        if( $id ) {
            $gestionnaire = User::find($id);
        }

        $validated = $request->only(['name', 'email', 'phone']);

        $validated['password'] = Hash::make($request->password);

        $meta = $request->only(['cin']);

        $gestionnaire->fill($validated);

        if ($gestionnaire->save()) {
            $gestionnaire->assignRole('gestionnaire');
            $gestionnaire->saveMeta($meta);
            
            return redirect()->route('gestionnaires')->with('message', __('vous avez ajoute la gestionnaire avec succès'));
        
        } else {
            
            $errors->add('unknown_error', __('errors.unknown_error'));
            
            return redirect(url()->previous())
                ->withErrors($errors)
                ->withInput();
        }


    }

    public function destroy(Request $request)
    {
        $data = User::role('gestionnaire')->find($request->id);

        if (!$data || !$data->exists()) {

            return redirect()->route('gestionnaires')->with('error', 'N\'existe pas');
        
        } else if (!$data->delete()) {

            return redirect()->route('gestionnaires')->with('error', 'Vous ne pouvez pas supprimer la gestionnaire');
        }

        return redirect()->route('gestionnaires')->with('status', 'La gestionnaire à été supprimer avec succès');
    }

    public function deleteAll(Request $request)
    {

        $ids = explode(',', $request->allids);

        if (!User::whereIn('id', $ids)->delete()) {

            return  redirect()->route('gestionnaires')->with('error', 'Erreur ');
        
        } else {

            return  redirect()->route('gestionnaires')->with('status', 'vous avez supprimer toutes les gestionnares avec succès');
        }
    }
}

Zerion Mini Shell 1.0