%PDF- %PDF-
Direktori : /usr/local/apache/htdocs/app/Http/Controllers/ |
Current File : //usr/local/apache/htdocs/app/Http/Controllers/ClientController.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 ClientController extends Controller { public function index() { $clients = User::role('client')->paginate(20); return view('Clients.index', compact('clients')); } public function store(Request $request, $id=0) { $errors = new MessageBag(); $validator = Validator::make($request->all(), [ 'nbdossier' => 'required_without:nbdossier_holder', '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_without:upload_placeholder', 'agrement_number' => 'required' ]); if ($validator->fails()) { return redirect(url()->previous()) ->with('show_client_modal', true) ->withErrors($validator) ->withInput(); } if( !$id && User::hasMeta('nbdossier', $request->nbdossier)->role('client')->exists()) { $errors->add('nbdossier_exists', 'Le nombre de dossier est exists'); return redirect(url()->previous()) ->with('show_client_modal', true) ->withErrors($errors) ->withInput(); } $client = new User; if( $id ) { $client = User::find($id); } // if ($request->remarques) { // $client = User::role('client')->find($request->remarques); // } if( $request->hasFile('upload') ) $upload = asset(Storage::url( $request->file('upload')->store('public') )); else $upload = @$request->upload_placeholder; if( !$upload ) { $errors->add('failed_upload_file', __('errors.failed_upload_file')); return redirect(url()->previous()) ->with('show_client_modal', true) ->withErrors($errors) ->withInput(); } $validated = $request->only(['name', 'email', 'phone']); $validated['password'] = Hash::make($request->phone); $meta = $request->only(['nbdossier', 'manager', 'adress', 'ville','date_j', 'website','rc','ice','cin','agrement_number','remarques']); $meta['upload'] = $upload; $client->fill($validated); if ($client->save()) { $client->assignRole('client'); $client->saveMeta($meta); if( $request->from_route ) { return redirect($request->from_route)->with('message', __('Le client à été modifier avec succès')); } return redirect()->route('clients')->with('message', __('Le client à été modifier avec succès')); } else { $errors->add('unknown_error', __('errors.unknown_error')); return redirect(url()->previous()) ->with('show_client_modal', true) ->withErrors($errors) ->withInput(); } } public function edit($id){ $client = User::role('client')->find($id); return view('Clients.update',['client' => $client]); } public function destroy(Request $request) { $data = User::role('client')->find($request->id); if (!$data || !$data->exists()) { return redirect()->route('clients')->with('error', 'Le client n\'existe pas'); } else if (!$data->delete()) { return redirect()->route('clients')->with('error', 'Vous ne pouvez pas supprimer le client'); } return redirect()->route('clients')->with('status', 'Le client à été supprimer avec succès'); } public function deleteAll(Request $request) { $ids = explode(',', $request->allids); if (!User::whereIn('id', $ids)->delete()) { return redirect()->route('clients')->with('error', 'Erreur '); } else { return redirect()->route('clients')->with('status', 'vous avez supprimer toutes les clients avec succès'); } } }