%PDF-
%PDF-
Mini Shell
Mini Shell
<?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