Erreur non compréhensible
Ferméjordane45 Messages postés 38392 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 janvier 2025 - 29 nov. 2022 à 12:04
Bonjour Chers tous
J'ai un problème avec un code php/html.
Quand je saisis le code ci-dessus sur le site local, le tableau s'affiche correctement. (voir l'image après le code)
@extends('admin.layouts.application') @section('contenu') <!--app-content open--> <div class="main-content app-content mt-0"> <div class="side-app"> <!-- CONTAINER --> <div class="main-container container-fluid"> @if (Session::has('success')) <div class="alert alert-success alert-dismissible fade show mb-0" role="alert"> <span class="alert-inner--text">{{ session::get('success') }}</span> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> @endif @if ($errors->any()) <div class="alert alert-danger alert-dismissible fade show mb-0" role="alert"> <span class="alert-inner--text"> @foreach ($errors->all() as $error) {{ $error }} @endforeach </span> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> @endif @if (Session::has('error')) <div class="alert alert-danger alert-dismissible fade show mb-0" role="alert"> <span class="alert-inner--text">{{ session::get('error') }}</span> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> @endif <!-- PAGE-HEADER --> <div class="page-header"> <div> <h1 class="page-title">Facturation-encaissement</h1> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="javascript:void(0);">Tableau de bord</a></li> <li class="breadcrumb-item active" aria-current="page">Facturation-encaissement</li> </ol> </div> <!--div class="ms-auto pageheader-btn"> <a href="" data-bs-toggle="modal" data-bs-target="#scrollingmodal" class="btn btn-primary btn-icon text-white me-2"> <span> <i class="fa fa-plus-circle"></i> </span> Ajouter facturation </a> </div--> </div> <!-- PAGE-HEADER END --> <!-- ROW-5 --> <div class="row"> <div class="col-12 col-sm-12"> <div class="card "> <div class="card-header"> <h3 class="card-title mb-0">Liste facturation-encaissement</h3> </div> <div class="card-body"> <div class="table-responsive"> <table id="data-table" class="table table-bordered text-nowrap mb-0"> <thead class="border-top"> <tr align="center"> <th colspan="6" class="bg-transparent border-bottom-0">Facturation</th> <th colspan="3" class="bg-transparent border-bottom-0">Paiement</th> </tr> <tr> <th class="bg-transparent border-bottom-0">Mois</th> <th class="bg-transparent border-bottom-0">Activite</th> <th class="bg-transparent border-bottom-0">Montant/Activite</th> <th class="bg-transparent border-bottom-0">Rubrique</th> <th class="bg-transparent border-bottom-0">Montant/Rubrique</th> <th class="bg-transparent border-bottom-0">Membre RH</th> <th class="bg-transparent border-bottom-0">Montant rubrique</th> <th class="bg-transparent border-bottom-0">Montant activite</th> <th class="bg-transparent border-bottom-0">Date paiement</th> </tr> </thead> <tbody> @forelse ($facturations as $facturation) <tr class="border-bottom"> <td class="text-muted fs-15 fw-semibold">{{ Carbon\Carbon::parse($facturation->mois)->format('M-Y')}}</td> <td class="text-muted fs-15 fw-semibold"> @forelse ($activites as $activite) @if ($activite->id == $facturation->activite_id) {{ $activite->intitule }} @else @endif @empty @endforelse </td> <td class="text-muted fs-15 fw-semibold">{{ $facturation->montant}}</td> <td class="text-muted fs-15 fw-semibold"> @forelse ( $resourencs as $resourenc) @if ($resourenc->id == $facturation->ress_enc_id) {{ $resourenc->libelle }} @else @endif @empty @endforelse </td> <td class="text-muted fs-15 fw-semibold">{{ $facturation->montant_rub}} </td> <td> @forelse ($membres as $membre) @if ($membre->id == $facturation->professionnel_id) <div class="d-flex"> <!--span class="avatar avatar-md brround mt-1" style="background-image: url({{ asset('images/membre/profil/'. $membre->photo) }})"></span--> <div class="ms-2 mt-0 mt-sm-2 d-block"> <h6 class="mb-0 fs-14 fw-semibold"> <a href="{{ route('admin.membre.vue',$membre->id) }}"> {{ $membre->prenom }} {{ $membre->nom }} </a> </h6> <span class="fs-12 text-muted">{{ $membre->email }}</span> </div> </div> @else @endif @empty @endforelse </td> @forelse ($suivis as $suivi) <td class="text-muted fs-15 fw-semibold"> {{ $suivi->montant_ress_enc}} </td> <td class="text-muted fs-15 fw-semibold"> {{ $suivi->montant}} </td> <td class="text-muted fs-15 fw-semibold">{{ Carbon\Carbon::parse($suivi->date_payement)->format('d-m-Y')}} </td> @empty @endforelse </tr> @empty @endforelse </tbody> </table> </div> </div> </div> </div> <!-- COL END --> </div> <!-- ROW-5 END --> </div> <!-- CONTAINER END --> </div> </div> <!--app-content end--> <!-- Modal --> <!--form action="{{ route('admin.facturation.post') }}" method="post"> @csrf <div class="modal fade" id="scrollingmodal" tabindex="-1" role="dialog" > <div class="modal-dialog modal-lg modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" >Ajout cotisation membre RH</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label for="exampleInputname">Membre RH</label> <select name="professionnel" class="form-control" required> <option selected disabled>Selectionnez membre RH</option> @forelse ($membres as $membre) <option value="{{ $membre->id }}">{{ $membre->prenom }} {{ $membre->nom }}</option> @empty <option disabled selected>Pas de membre RH</option> @endforelse </select> <!--input type="text" name="prenom" class="form-control" id="exampleInputname" placeholder="Prénom" required--> </div> </div> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label for="exampleInputname1">Activité</label> <select name="activite" class="form-control" required> <option selected disabled>Selectionnez une activité</option> @forelse ($activites as $activite) <option value="{{ $activite->id }}">{{ $activite->intitule }}</option> @empty <option disabled selected>Pas d'activite</option> @endforelse </select> <!--input type="text" name="nom" class="form-control" id="exampleInputname1" placeholder="Nom" required--> </div> </div> </div> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label class="form-label">Rubrique encaissement</label> <select name="ress_dec" class="form-control" required> <option selected disabled>Selectionnez rubrique encaissement</option> @forelse ($resourencs as $resourenc) <option value="{{ $resourenc->id }}">{{ $resourenc->libelle }}</option> @empty <option disabled selected>Pas de rubrique</option> @endforelse </select> <!--input type="email" name="email" class="form-control" id="exampleInputname" placeholder="Email" required--> </div> </div> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label class="form-label">Mois</label> <input type="month" name="mois" class="form-control" id="exampleInputname" placeholder="" required> </div> </div> </div> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label class="form-label">Montant</label> <input type="number" name="montant" class="form-control" id="exampleInputname" required> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button> <button type="submit" class="btn btn-primary">Ajouter</button> </div> </div> </div> </div> </form> @endsection
Le code du fichier de contrôle de cette page est le suivant :
<?php namespace App\Http\Controllers; use Auth; use Exception; use Validator; use Carbon\Carbon; use App\Models\Rdv; use App\Models\Jour; use App\Models\Admin; use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Models\Professionnel; use Illuminate\Validation\Rules; use App\Models\AdminPasswordReset; use Illuminate\Support\Facades\DB; use App\Mail\AdminPasswordResetMail; use App\Models\Activite; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Mail; use Intervention\Image\Facades\Image; use App\Models\Entreprise; use App\Models\Flux; use App\Models\Membre; use App\Models\SuiviPayement; use App\Models\RessDec; use App\Models\TypeProfessionnel; use App\Models\Facturation; use App\Models\RessEnc; use Illuminate\Support\Facades\Response; class AdminController extends Controller { public function index(){ return view('admin.login'); } public function dashboard(){ $now = Carbon::now()->addDay(); $sept = Carbon::now()->subDays(7); $trente = Carbon::now()->subDays(30); $jours7encais = SuiviPayement::whereBetween('date_payement', [$sept, $now])->get(); $jours30encais = SuiviPayement::whereBetween('date_payement', [$trente, $now])->get(); $jours7decais = Flux::whereBetween('date_flux', [$sept, $now])->get(); $jours30decais = Flux::whereBetween('date_flux', [$trente, $now])->get(); // dd($jours30decais); $membres1 = Professionnel::where('type_professionnel_id', 1)->count(); $membres2 = Professionnel::where('type_professionnel_id', 2)->count(); $membres3 = Professionnel::where('type_professionnel_id', 3)->count(); $entreprises = Entreprise::all()->count(); $encais = SuiviPayement::all()->sum('montant'); $cotisations = SuiviPayement::where('ress_enc_id', 2)->sum('montant_ress_enc'); $frais = SuiviPayement::where('ress_enc_id', 3)->sum('montant_ress_enc'); $decais = Flux::all()->sum('montant'); return view('admin.dashboard', compact('membres1', 'membres2', 'membres3', 'entreprises','encais', 'cotisations', 'frais', 'decais')); } public function login(Request $request){ // dd($request->all()); $check = $request->all(); if(Auth::guard('admin')->attempt(['email' => $check['email'], 'password' => $check['password']])){ if(Auth::guard('admin')->user()->etat){ return redirect()->route('admin.dashboard')->with('success', 'Connecté'); } else{ return back()->with('error', 'Vous ne pouvez pas accéder à ce compte car il est désactivé'); } }else{ return back()->with('error', 'Authentification échouée'); } } public function logout(){ Auth::guard('admin')->logout(); return redirect()->route('admin.login_form')->with('success', 'Deconnexion avec succès'); } public function register(Request $request){ $request->validate([ 'name' => ['required', 'string', 'max:100'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:admins'], 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); $user = Admin::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); return redirect()->route('admin.dashboard'); } public function passwordForget(){ return view('admin.passwordForget'); } public function passwordReset(Request $request){ $request->validate([ 'email' => ['required', 'string', 'email', 'max:255'] ]); $isFound = Admin::where('email', $request->email)->first(); if($isFound){ $reset = AdminPasswordReset::create([ 'email' => $request->email, 'token' => (string) Str::uuid(), 'expire' => false, 'created_at' => Carbon::now(), ]); $lien = route('admin.new.password', $reset->token); // SendAdminPasswordResetLinkMailJob::dispatch($isFound, $lien); Mail::to($isFound->email)->send(new AdminPasswordResetMail($isFound, $lien)); return back()->with('success', 'Nous vous avons envoyé un lien de réinitialisation dans votre boite email.'); }else{ return back()->with('error', 'Cette adresse n\'existe pas.'); } } public function newPassword($token){ $isFound = AdminPasswordReset::where('token', $token)->first(); if($isFound){ if($isFound->expire == 0){ return view('admin.passwordUpdate', compact('isFound')); }else{ return redirect()->route('admin.login_form')->with('error', 'Token déjà utilisé.'); } }else{ return redirect()->route('admin.login_form')->with('error', 'Token invalide'); } } public function passwordUpdate(Request $request){ $request->validate([ 'email' => ['required', 'string', 'email', 'max:255'], 'password' => ['required', 'string', 'min:8', 'max:255'], 'confirmation_password' => ['required', 'string', 'min:8', 'max:255'], ]); if($request->password === $request->confirmation_password){ $isFoundToken = AdminPasswordReset::where('email', $request->email)->first(); if($isFoundToken){ $isFoundPro = Admin::where('email', $isFoundToken->email)->first(); if($isFoundPro){ $isFoundToken->expire = true; $isFoundToken->updated_at = Carbon::now(); $resultatToken = $isFoundToken->save(); $isFoundPro->password = Hash::make($request->password); $isFoundPro->updated_at = Carbon::now(); $resultatPro = $isFoundPro->save(); if($resultatToken && $resultatPro){ return redirect()->route('admin.login_form')->with('success', 'Réinitialiser effectuée avec succès.'); }else{ return back()->with('error', 'Une erreur a surgi lors de la réinitialisation. Veuillez reprendre s\'il vous plaît.'); } }else{ return back()->with('error', 'Cette adresse n\'existe pas.'); } }else{ return back()->with('error', 'Vous n\'avez pas enclenché un processus de réinitialisation du mot de passe.'); } }else{ return back()->with('error', 'Les mots de passe doivent être identiques.'); } } public function profil(){ $id = Auth::guard('admin')->user()->id; $profil = Admin::find($id); //dd($rdv); return view('admin.profil.index', compact('profil')); } // Profil public function profilEdit(){ $id = Auth::guard('admin')->user()->id; $profil = Admin::find($id); //dd($rdv); return view('admin.profil.edit', compact('profil')); } public function profilUpdate(Request $request){ $request->validate([ "name" => ['required', 'string', 'max:50'], "email" => ['required', 'string'], ]); try{ $admin = Admin::find(Auth::guard('admin')->user()->id); $admin->pseudo = $request->name; $admin->email = $request->email; $admin->updated_at = Carbon::now(); $val = $admin->save(); if($val){ return redirect()->route('admin.profil')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function profilUpdatePhoto(Request $request){ $request->validate([ 'photo' => 'required|image|mimes:jpg,jpeg,png|max:5048', ]); $admin = Auth::guard('admin')->user(); $prof = Admin::find($admin->id); $old_image = Admin::find($admin->id); $image_name = $admin->photo; $image = $request->photo; $image_name = rand() . '.' . $image->getClientOriginalExtension(); $image->move(public_path('images/admin/profil'), $image_name); if($old_image->photo == 'user.png'){ }else{ if($old_image->photo == 'user.jpg'){ }else{ unlink('images/admin/profil/'. $old_image->photo); } } $filename = public_path('images/admin/profil') .'/'. $image_name; $image = Image::make($filename)->fit(720,720); $image->save(); $prof->photo = $image_name; $bool = $prof->save(); if($bool){ return redirect()->route('admin.profil')->with('success', 'Photo de profil mise à jour avec succès'); }else{ return back()->with('error', 'L\'image n\'a pas été sauvegardé en base de données'); } } public function profilUpdatePassword(Request $request){ if(Hash::check($request->password, Auth::guard('admin')->user()->password)){ if($request->new_password === $request->confirmation_password){ $isFoundPro = Admin::where('email', Auth::guard('admin')->user()->email)->first(); if($isFoundPro){ $isFoundPro->password = Hash::make($request->new_password); $isFoundPro->updated_at = Carbon::now(); $resultatPro = $isFoundPro->save(); if($resultatPro){ return redirect()->route('admin.profil')->with('success', 'Réinitialisation effectuée avec succès.'); }else{ return back()->with('error', 'Une erreur a surgi lors de la réinitialisation. Veuillez reprendre s\'il vous plaît.'); } }else{ return back()->with('error', 'Utilisateur introuvable.'); } }else{ return back()->with('error', 'Les mots de passe doivent être identiques.'); } }else{ return back()->with('error', 'Mot de passe incorrect.'); } } public function profilEditPassword(){ return view('admin.profil.password'); } public function profilEditPhoto(){ return view('admin.profil.photo'); } public function type(){ $types = TypeProfessionnel::all(); return view('admin.type.index', compact('types')); } public function type_post(Request $request){ $request->validate([ "intitule" => ['required', 'string'], "details" => ['required', 'string'], ]); $type = TypeProfessionnel::create([ "intitule" => $request->intitule, "details" => $request->details, "created_at" => Carbon::now(), ]); if($type){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function type_vue(Request $request){ $type = TypeProfessionnel::findOrFail($request->id); return view('admin.type.type', compact('type')); } public function type_edit(Request $request){ $request->validate([ "intitule" => ['required', 'string'], "details" => ['required', 'string'], ]); try{ $type = TypeProfessionnel::find($request->id); $type->intitule = $request->intitule; $type->details = $request->details; $type->updated_at = Carbon::now(); $val = $type->save(); if($val){ return redirect()->route('admin.type')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function type_supprime(Request $request){ $type = TypeProfessionnel::find($request->id); $type->delete(); return redirect()->route('admin.type')->with('success', 'Type membre supprimé avec succès'); } public function activite(){ $activites = Activite::all(); return view('admin.activite.index', compact('activites')); } public function activite_post(Request $request){ $request->validate([ "intitule" => ['required', 'string'], "date_debut" => ['required', 'date'], "montant" => ['required', 'string'], ]); $activite = Activite::create([ "intitule" => $request->intitule, "date_debut" => $request->date_debut, "date_fin" => $request->date_fin, "montant" => $request->montant, "created_at" => Carbon::now(), ]); if($activite){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function activite_vue(Request $request){ $activite = Activite::findOrFail($request->id); return view('admin.activite.activite', compact('activite')); } public function activite_edit(Request $request){ $request->validate([ "intitule" => ['required', 'string'], "date_debut" => ['required', 'date'], "montant" => ['required', 'string'], ]); try{ $activite = Activite::find($request->id); $activite->intitule = $request->intitule; $activite->date_debut = $request->date_debut; $activite->date_fin = $request->date_fin; $activite->montant = $request->montant; $activite->updated_at = Carbon::now(); $val = $activite->save(); if($val){ return redirect()->route('admin.activite')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function activite_supprime(Request $request){ $activite = Activite::find($request->id); $activite->delete(); return redirect()->route('admin.activite')->with('success', 'Type membre supprimé avec succès'); } public function entreprise(){ $entreprises = Entreprise::all(); return view('admin.entreprise.index', compact('entreprises')); } public function entreprise_post(Request $request){ $request->validate([ "nom_entreprise" => ['required', 'string'], "statut_juridique" => ['required', 'string'], "domaine_activite" => ['required', 'string'], "email" => ['required', 'string', 'email', 'max:255', 'unique:entreprises'], "telephone" => ['required', 'string', 'max:20', 'unique:entreprises'], "adresse" => ['required', 'string'], ]); $entreprise = Entreprise::create([ "nom_entreprise" => $request->nom_entreprise, "statut_juridique" => $request->statut_juridique, "domaine_activite" => $request->domaine_activite, "web" => $request->web, "representant" => $request->representant, "email" => $request->email, "telephone" => $request->telephone, "adresse" => $request->adresse, "created_at" => Carbon::now(), ]); if($entreprise){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function entreprise_vue(Request $request){ $entreprise = Entreprise::findOrFail($request->id); return view('admin.entreprise.entreprise', compact('entreprise')); } public function entreprise_edit(Request $request){ $request->validate([ "nom_entreprise" => ['required', 'string'], "statut_juridique" => ['required', 'string'], "domaine_activite" => ['required', 'string'], "email" => ['required', 'string', 'email', 'max:255'], "telephone" => ['required', 'string', 'max:20'], "adresse" => ['required', 'string'], ]); try{ $entreprise = Entreprise::find($request->id); $entreprise->nom_entreprise = $request->nom_entreprise; $entreprise->statut_juridique = $request->statut_juridique; $entreprise->domaine_activite = $request->domaine_activite; $entreprise->web = $request->web; $entreprise->representant = $request->representant; $entreprise->email = $request->email; $entreprise->telephone = $request->telephone; $entreprise->adresse = $request->adresse; $entreprise->updated_at = Carbon::now(); $val = $entreprise->save(); if($val){ return redirect()->route('admin.entreprise')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function entreprise_supprime(Request $request){ $entreprise = Entreprise::find($request->id); $entreprise->delete(); return redirect()->route('admin.entreprise')->with('success', 'Entreprise supprimée avec succès'); } //Code d'ajout public function rubrique_encaissement(){ $resourencs = RessEnc::all(); return view('admin.rubencaissement.index', compact('resourencs')); } public function rubrique_encaissement_post(Request $request){ $request->validate([ "libelle" => ['required', 'string'], "montant" => ['required', 'string'], ]); $resourenc = RessEnc::create([ "libelle" => $request->libelle, "montant" => $request->montant, "created_at" => Carbon::now(), ]); if($resourenc){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function rubrique_encaissement_vue(Request $request){ $resourenc = RessEnc::findOrFail($request->id); return view('admin.rubencaissement.encaissement', compact('resourenc')); } public function rubrique_encaissement_edit(Request $request){ $request->validate([ "libelle" => ['required', 'string'], "montant" => ['required', 'string'], ]); try{ $resourenc = RessEnc::find($request->id); $resourenc->libelle = $request->libelle; $resourenc->montant = $request->montant; $resourenc->updated_at = Carbon::now(); $val = $resourenc->save(); if($val){ return redirect()->route('admin.rubrique.encaissement')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function rubrique_encaissement_destroy(Request $request){ $resourenc = RessEnc::find($request->id); $resourenc->delete(); return redirect()->route('admin.rubrique.encaissement')->with('success', 'Rubrique encaissement supprimée avec succès'); } public function rubrique_decaissement(){ $resourdecs = RessDec::all(); return view('admin.rubdecaissement.index', compact('resourdecs')); } public function rubrique_decaissement_post(Request $request){ $request->validate([ "libelle" => ['required', 'string'], ]); $resourdec = RessDec::create([ "libelle" => $request->libelle, "created_at" => Carbon::now(), ]); if($resourdec){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function rubrique_decaissement_vue(Request $request){ $resourdec = RessDec::findOrFail($request->id); return view('admin.rubdecaissement.decaissement', compact('resourdec')); } public function rubrique_decaissement_edit(Request $request){ $request->validate([ "libelle" => ['required', 'string'], "montant" => ['required', 'string'], ]); try{ $resourdec = RessDec::find($request->id); $resourdec->libelle = $request->libelle; $resourdec->montant = $request->montant; $resourdec->updated_at = Carbon::now(); $val = $resourdec->save(); if($val){ return redirect()->route('admin.rubrique.decaissement')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function rubrique_decaissement_destroy(Request $request){ $resourdec = RessDec::find($request->id); $resourdec->delete(); return redirect()->route('admin.rubrique.decaissement')->with('success', 'Rubrique décaissement supprimée avec succès'); } public function facturation(){ $facturations = Facturation::all(); $activites = Activite::all(); $membres = Professionnel::all(); $resourencs = RessEnc::all(); return view('admin.facturation.index', compact('facturations', 'activites', 'membres', 'resourencs')); } public function facturation_post(Request $request){ // dd($request); $request->validate([ "mois" => ['required', 'date'], "montant" => ['required', 'string'], "montant_rub" => ['required', 'string'], "professionnel" => ['required', 'string'], "libelle" => ['required', 'string'], "activite" => ['required', 'string'], ]); // dd($request); $facturation = Facturation::create([ "details" => $request->details, "mois" => $request->mois, "montant" => $request->montant, "montant_rub" => $request->montant_rub, "activite_id" => $request->activite, "ress_enc_id" => $request->libelle, "professionnel_id" => $request->professionnel, "created_at" => Carbon::now(), ]); // dd($membre); if($facturation){ return back()->with('success', 'Facturation ajoutée avec succès'); }else{ return back()->with('Une erreur a surgi'); } } public function facturation_destroy(Request $request){ $facturation = Facturation::find($request->id); $facturation->delete(); return redirect()->route('admin.facturation')->with('success', 'Facturation supprimée avec succès'); } public function facturation_encaissement(){ $facturations = Facturation::all(); $suivis = SuiviPayement::all(); $membres = Professionnel::all(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.encfactu.index', compact('facturations', 'suivis', 'membres','activites','resourencs')); } public function suivi_paiement(){ $suivis = SuiviPayement::all(); $membres = Professionnel::all(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.suivi.index', compact('suivis', 'membres', 'activites', 'resourencs')); } public function suivi_paiement_post(Request $request){ $request->validate([ "membre_id" => ['required', 'string'], "type_payement" => ['required', 'string'], "date_payement" => ['required', 'date'], ]); $verif = SuiviPayement::where('professionnel_id', $request->membre_id)->where('activite_id', $request->intitule)->where('ress_enc_id', $request->libelle)->first(); if($verif){ $verif->montant = $verif->montant + $request->montant; $app = $verif->save(); if($app){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } }else{ $suivi = SuiviPayement::create([ "professionnel_id" => $request->membre_id, "montant" => $request->montant, "montant_ress_enc" => $request->montant_ress_enc, "activite_id" => $request->intitule, "ress_enc_id" => $request->libelle, "type_payement" => $request->type_payement, "date_payement" => $request->date_payement, "created_at" => Carbon::now(), ]); if($suivi){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } } public function suivi_paiement_vue(Request $request){ /* $suivi = SuiviPayement::findOrFail($request->id); $membre = Professionnel::all(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.suivi.suivi', compact('suivi', 'membre', 'activites', 'resourencs'));*/ } public function suivi_paiement_destroy(Request $request){ $suivi = SuiviPayement::findOrFail($request->id); $suivi->delete(); return back()->with('success', 'Encaissement supprimé avec succès'); } public function membre(){ $membres = Professionnel::all(); $entreprises = Entreprise::all(); $types = TypeProfessionnel::all(); return view('admin.membre.index', compact('membres', 'entreprises', 'types')); } public function membre_post(Request $request){ // dd($request); $request->validate([ "prenom" => ['required', 'string'], "nom" => ['required', 'string'], "email" => ['required', 'string', 'email', 'max:255', 'unique:professionnels'], "telephone" => ['required', 'string', 'max:20', 'unique:professionnels'], //required|regex:/^([0-9\s\-\+\(\)]*)$/|min:8 "intitule" => ['required', 'string'], "datenais" => ['required', 'date'], "lieunais" => ['required', 'string'], "photo" => 'required|image|mimes:jpg,jpeg,png,gif,svg|max:2048', "domaine_etude" => ['required', 'string'], "niveau_etude" => ['required', 'string'], // "date_adhesion" => ['required', 'date'], "diplome" => ['required', 'string'], // "civilite" => ['required', 'string'], //"statut" => ['required', 'string'], "fonction" => ['required', 'string'], "ville" => ['required', 'string'], "pays" => ['required', 'string'], "adresse" => ['required', 'string'], //"password" => ['required', 'string'], //"statut_rh" => ['required', 'string'], ]); $image = $request->photo; $imageName = rand().'.'.$image->getClientOriginalExtension(); $image->move(public_path('images/membre/profil'), $imageName); $filename = public_path('images/membre/profil') .'/'. $imageName; $image = Image::make($filename)->fit(720,720); $image->save(); // dd($request); $membre = Professionnel::create([ "prenom" => $request->prenom, "nom" => $request->nom, "email" => $request->email, "telephone" => $request->telephone, "type_professionnel_id" => $request->intitule, "datenais" => $request->datenais, "lieunais" => $request->lieunais, "domaine_etude" => $request->domaine_etude, "niveau_etude" => $request->niveau_etude, //"date_adhesion" => $request->date_adhesion, "diplome" => $request->diplome, //"civilite" => $request->civilite, //"statut" => $request->statut, "fonction" => $request->fonction, "domaine_etude" => $request->domaine_etude, "ville" => $request->ville, "pays" => $request->pays, "adresse" => $request->adresse, "datenais" => $request->datenais, "lieunais" => $request->lieunais, "photo" => $imageName, "password" => Hash::make('user123'), "entreprise_id" => $request->entreprise, //"statut_rh" => $request->statut_rh, "created_at" => Carbon::now(), ]); // dd($membre); if($membre){ return back()->with('success', 'RH ajouté avec succès'); }else{ return back()->with('Une erreur a surgi'); } } public function membre_vue(Request $request){ $types = TypeProfessionnel::all(); $entreprises = Entreprise::all(); $membre = Professionnel::findOrFail($request->id); $suivis = SuiviPayement::where('professionnel_id', $request->id)->get(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.membre.membre', compact('membre', 'entreprises', 'types', 'suivis', 'activites', 'resourencs')); } public function membre_edit(Request $request){ $request->validate([ "prenom" => ['required', 'string'], "nom" => ['required', 'string'], "email" => ['required', 'string', 'email'], "telephone" => ['required', 'string', 'max:20'], //"date_adhesion" => ['required', 'date'], "diplome" => ['required', 'string'], //"civilite" => ['required', 'string'], //"statut" => ['required', 'string'], "fonction" => ['required', 'string'], "domaine_etude" => ['required'], "niveau_etude" => ['required'], "ville" => ['required', 'string'], "pays" => ['required', 'string'], "adresse" => ['required', 'string'], "datenais" => ['required', 'string'], "lieunais" => ['required', 'string'], "photo" => 'required|image|mimes:jpg,jpeg,png,gif,svg|max:2048', "entreprise" => ['required', 'string'], //"statut_rh" => ['required', 'string'], ]); $image = $request->photo; $imageName = rand().'.'.$image->getClientOriginalExtension(); $image->move(public_path('images/membre/profil'), $imageName); $filename = public_path('images/membre/profil') .'/'. $imageName; $image = Image::make($filename)->fit(720,720); $image->save(); try{ $membre = Professionnel::find($request->id); $membre->nom = $request->nom; $membre->prenom = $request->prenom; $membre->telephone = $request->telephone; //$membre->date_adhesion = $request->date_adhesion; $membre->diplome = $request->diplome; // $membre->civilite = $request->civilite; // $membre->statut = $request->statut; $membre->fonction = $request->fonction; $membre->domaine_etude = $request->domaine_etude; $membre->niveau_etude = $request->niveau_etude; $membre->ville = $request->ville; $membre->pays = $request->pays; $membre->adresse = $request->adresse; $membre->datenais = $request->datenais; $membre->lieunais = $request->lieunais; $membre->photo = $imageName; $membre->entreprise_id = $request->entreprise; //$membre->statut_rh = $request->statut_rh; $membre->updated_at = Carbon::now(); $val = $membre->save(); if($val){ return back()->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function membre_etat(Request $request){ $mem = Professionnel::find($request->id); if($mem->etat){ $mem->etat = false; $mem->updated_at = Carbon::now(); $val = $mem->save(); if($val){ return back()->with('success', 'Désactivation effectuée avec succès'); }else{ return back()->with('error', 'Désactivation echouée'); } }else{ $mem->etat = true; $mem->updated_at = Carbon::now(); $val = $mem->save(); if($val){ return back()->with('success', 'Activation effectuée avec succès'); }else{ return back()->with('error', 'Activation echouée'); } } } public function membre_supprime(Request $request){ $membre = Professionnel::find($request->id); $membre->delete(); return redirect()->route('admin.membre')->with('success', 'Compte supprimé avec succès'); } public function flux(){ $fluxes = Flux::all(); $activites = Activite::all(); $resourdecs = RessDec::all(); return view('admin.flux.index', compact('fluxes', 'activites', 'resourdecs')); } public function flux_post(Request $request){ // dd($request); $request->validate([ "motif" => ['required', 'string'], "montant" => ['required', 'string'], "activite" => ['required', 'string'], "libelle" => ['required', 'string'], "date_flux" => ['required', 'date'], ]); // dd($request); $flux = Flux::create([ "motif" => $request->motif, "montant" => $request->montant, "activite_id" => $request->activite, "ress_dec_id" => $request->libelle, "date_flux" => $request->date_flux, "created_at" => Carbon::now(), ]); // dd($membre); if($flux){ return back()->with('success', 'Décaissement ajouté avec succès'); }else{ return back()->with('Une erreur a surgi'); } } public function flux_supprime(Request $request){ $flux = Flux::findOrFail($request->id); $flux->delete(); return back()->with('success', 'Décaissement supprimé avec succès'); } }
ci-dessous un aperçu de l'interface générée par le code :
Par contre, le code ci-dessous, écris sur site hébergé en ligne, m'affiche un tableau différent (voir l'image après le code)
@extends('admin.layouts.application') @section('contenu') <!--app-content open--> <div class="main-content app-content mt-0"> <div class="side-app"> <!-- CONTAINER --> <div class="main-container container-fluid"> @if (Session::has('success')) <div class="alert alert-success alert-dismissible fade show mb-0" role="alert"> <span class="alert-inner--text">{{ session::get('success') }}</span> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> @endif @if ($errors->any()) <div class="alert alert-danger alert-dismissible fade show mb-0" role="alert"> <span class="alert-inner--text"> @foreach ($errors->all() as $error) {{ $error }} @endforeach </span> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> @endif @if (Session::has('error')) <div class="alert alert-danger alert-dismissible fade show mb-0" role="alert"> <span class="alert-inner--text">{{ session::get('error') }}</span> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> @endif <!-- PAGE-HEADER --> <div class="page-header"> <div> <h1 class="page-title">Facturation-encaissement</h1> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="javascript:void(0);">Tableau de bord</a></li> <li class="breadcrumb-item active" aria-current="page">Facturation-encaissement</li> </ol> </div> <!--div class="ms-auto pageheader-btn"> <a href="" data-bs-toggle="modal" data-bs-target="#scrollingmodal" class="btn btn-primary btn-icon text-white me-2"> <span> <i class="fa fa-plus-circle"></i> </span> Ajouter facturation </a> </div--> </div> <!-- PAGE-HEADER END --> <!-- ROW-5 --> <div class="row"> <div class="col-12 col-sm-12"> <div class="card "> <div class="card-header"> <h3 class="card-title mb-0">Liste facturation-encaissement</h3> </div> <div class="card-body"> <div class="table-responsive"> <table id="data-table" class="table table-bordered text-nowrap mb-0"> <thead class="border-top"> <tr align="center"> <th colspan="6" class="bg-transparent border-bottom-0">Facturation</th> <th colspan="3" class="bg-transparent border-bottom-0">Paiement</th> </tr> <tr> <th class="bg-transparent border-bottom-0">Mois</th> <th class="bg-transparent border-bottom-0">Activite</th> <th class="bg-transparent border-bottom-0">Montant/Activite</th> <th class="bg-transparent border-bottom-0">Rubrique</th> <th class="bg-transparent border-bottom-0">Montant/Rubrique</th> <th class="bg-transparent border-bottom-0">Membre RH</th> <th class="bg-transparent border-bottom-0">Montant versé/rubrique</th> <th class="bg-transparent border-bottom-0">Montant versé/activite</th> <th class="bg-transparent border-bottom-0">Date paiement</th> </tr> </thead> <tbody> @forelse ($facturations as $facturation) <tr class="border-bottom"> <td class="text-muted fs-15 fw-semibold">{{ Carbon\Carbon::parse($facturation->mois)->format('M-Y')}}</td> <td class="text-muted fs-15 fw-semibold"> @forelse ($activites as $activite) @if ($activite->id == $facturation->activite_id) {{ $activite->intitule }} @else @endif @empty @endforelse </td> <td class="text-muted fs-15 fw-semibold">{{ $facturation->montant}}</td> <td class="text-muted fs-15 fw-semibold"> @forelse ( $resourencs as $resourenc) @if ($resourenc->id == $facturation->ress_enc_id) {{ $resourenc->libelle }} @else @endif @empty @endforelse </td> <td class="text-muted fs-15 fw-semibold">{{ $facturation->montant_rub}} </td> <td> @forelse ($membres as $membre) @if ($membre->id == $facturation->professionnel_id) <div class="d-flex"> <!--span class="avatar avatar-md brround mt-1" style="background-image: url({{ asset('images/membre/profil/'. $membre->photo) }})"></span--> <div class="ms-2 mt-0 mt-sm-2 d-block"> <h6 class="mb-0 fs-14 fw-semibold"> <a href="{{ route('admin.membre.vue',$membre->id) }}"> {{ $membre->prenom }} {{ $membre->nom }} </a> </h6> <span class="fs-12 text-muted">{{ $membre->email }}</span> </div> </div> @else @endif @empty @endforelse </td> @forelse ($suivis as $suivi) <td class="text-muted fs-15 fw-semibold"> {{ $suivi->montant_ress_enc}} </td> <td class="text-muted fs-15 fw-semibold"> {{ $suivi->montant}} </td> <td class="text-muted fs-15 fw-semibold">{{ Carbon\Carbon::parse($suivi->date_payement)->format('d-m-Y')}} </td> @empty @endforelse </tr> @empty @endforelse </tbody> </table> </div> </div> </div> </div> <!-- COL END --> </div> <!-- ROW-5 END --> </div> <!-- CONTAINER END --> </div> </div> <!--app-content end--> <!-- Modal --> <!--form action="{{ route('admin.facturation.post') }}" method="post"> @csrf <div class="modal fade" id="scrollingmodal" tabindex="-1" role="dialog" > <div class="modal-dialog modal-lg modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" >Ajout cotisation membre RH</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label for="exampleInputname">Membre RH</label> <select name="professionnel" class="form-control" required> <option selected disabled>Selectionnez membre RH</option> @forelse ($membres as $membre) <option value="{{ $membre->id }}">{{ $membre->prenom }} {{ $membre->nom }}</option> @empty <option disabled selected>Pas de membre RH</option> @endforelse </select> <!--input type="text" name="prenom" class="form-control" id="exampleInputname" placeholder="Prénom" required--> </div> </div> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label for="exampleInputname1">Activité</label> <select name="activite" class="form-control" required> <option selected disabled>Selectionnez une activité</option> @forelse ($activites as $activite) <option value="{{ $activite->id }}">{{ $activite->intitule }}</option> @empty <option disabled selected>Pas d'activite</option> @endforelse </select> <!--input type="text" name="nom" class="form-control" id="exampleInputname1" placeholder="Nom" required--> </div> </div> </div> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label class="form-label">Rubrique encaissement</label> <select name="ress_dec" class="form-control" required> <option selected disabled>Selectionnez rubrique encaissement</option> @forelse ($resourencs as $resourenc) <option value="{{ $resourenc->id }}">{{ $resourenc->libelle }}</option> @empty <option disabled selected>Pas de rubrique</option> @endforelse </select> <!--input type="email" name="email" class="form-control" id="exampleInputname" placeholder="Email" required--> </div> </div> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label class="form-label">Mois</label> <input type="month" name="mois" class="form-control" id="exampleInputname" placeholder="" required> </div> </div> </div> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="form-group"> <label class="form-label">Montant</label> <input type="number" name="montant" class="form-control" id="exampleInputname" required> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button> <button type="submit" class="btn btn-primary">Ajouter</button> </div> </div> </div> </div> </form> @endsection
Le code en ligne permettant le contrôle de la page ci-dessous est le suivant :
<?php namespace App\Http\Controllers; use Auth; use Exception; use Validator; use Carbon\Carbon; use App\Models\Rdv; use App\Models\Jour; use App\Models\Admin; use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Models\Professionnel; use Illuminate\Validation\Rules; use App\Models\AdminPasswordReset; use Illuminate\Support\Facades\DB; use App\Mail\AdminPasswordResetMail; use App\Models\Activite; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Mail; use Intervention\Image\Facades\Image; use App\Models\Entreprise; use App\Models\Flux; use App\Models\Membre; use App\Models\SuiviPayement; use App\Models\RessDec; use App\Models\TypeProfessionnel; use App\Models\Facturation; use App\Models\RessEnc; use Illuminate\Support\Facades\Response; class AdminController extends Controller { public function index(){ return view('admin.login'); } public function dashboard(){ $now = Carbon::now()->addDay(); $sept = Carbon::now()->subDays(7); $trente = Carbon::now()->subDays(30); $jours7encais = SuiviPayement::whereBetween('date_payement', [$sept, $now])->get(); $jours30encais = SuiviPayement::whereBetween('date_payement', [$trente, $now])->get(); $jours7decais = Flux::whereBetween('date_flux', [$sept, $now])->get(); $jours30decais = Flux::whereBetween('date_flux', [$trente, $now])->get(); // dd($jours30decais); $membres1 = Professionnel::where('type_professionnel_id', 1)->count(); $membres2 = Professionnel::where('type_professionnel_id', 2)->count(); $membres3 = Professionnel::where('type_professionnel_id', 3)->count(); $entreprises = Entreprise::all()->count(); $encais = SuiviPayement::all()->sum('montant'); $cotisations = SuiviPayement::where('ress_enc_id', 2)->sum('montant_ress_enc'); $frais = SuiviPayement::where('ress_enc_id', 3)->sum('montant_ress_enc'); $decais = Flux::all()->sum('montant'); return view('admin.dashboard', compact('membres1', 'membres2', 'membres3', 'entreprises','encais', 'cotisations', 'frais', 'decais')); } public function login(Request $request){ // dd($request->all()); $check = $request->all(); if(Auth::guard('admin')->attempt(['email' => $check['email'], 'password' => $check['password']])){ if(Auth::guard('admin')->user()->etat){ return redirect()->route('admin.dashboard')->with('success', 'Connecté'); } else{ return back()->with('error', 'Vous ne pouvez pas accéder à ce compte car il est désactivé'); } }else{ return back()->with('error', 'Authentification échouée'); } } public function logout(){ Auth::guard('admin')->logout(); return redirect()->route('admin.login_form')->with('success', 'Deconnexion avec succès'); } public function register(Request $request){ $request->validate([ 'name' => ['required', 'string', 'max:100'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:admins'], 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); $user = Admin::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); return redirect()->route('admin.dashboard'); } public function passwordForget(){ return view('admin.passwordForget'); } public function passwordReset(Request $request){ $request->validate([ 'email' => ['required', 'string', 'email', 'max:255'] ]); $isFound = Admin::where('email', $request->email)->first(); if($isFound){ $reset = AdminPasswordReset::create([ 'email' => $request->email, 'token' => (string) Str::uuid(), 'expire' => false, 'created_at' => Carbon::now(), ]); $lien = route('admin.new.password', $reset->token); // SendAdminPasswordResetLinkMailJob::dispatch($isFound, $lien); Mail::to($isFound->email)->send(new AdminPasswordResetMail($isFound, $lien)); return back()->with('success', 'Nous vous avons envoyé un lien de réinitialisation dans votre boite email.'); }else{ return back()->with('error', 'Cette adresse n\'existe pas.'); } } public function newPassword($token){ $isFound = AdminPasswordReset::where('token', $token)->first(); if($isFound){ if($isFound->expire == 0){ return view('admin.passwordUpdate', compact('isFound')); }else{ return redirect()->route('admin.login_form')->with('error', 'Token déjà utilisé.'); } }else{ return redirect()->route('admin.login_form')->with('error', 'Token invalide'); } } public function passwordUpdate(Request $request){ $request->validate([ 'email' => ['required', 'string', 'email', 'max:255'], 'password' => ['required', 'string', 'min:8', 'max:255'], 'confirmation_password' => ['required', 'string', 'min:8', 'max:255'], ]); if($request->password === $request->confirmation_password){ $isFoundToken = AdminPasswordReset::where('email', $request->email)->first(); if($isFoundToken){ $isFoundPro = Admin::where('email', $isFoundToken->email)->first(); if($isFoundPro){ $isFoundToken->expire = true; $isFoundToken->updated_at = Carbon::now(); $resultatToken = $isFoundToken->save(); $isFoundPro->password = Hash::make($request->password); $isFoundPro->updated_at = Carbon::now(); $resultatPro = $isFoundPro->save(); if($resultatToken && $resultatPro){ return redirect()->route('admin.login_form')->with('success', 'Réinitialiser effectuée avec succès.'); }else{ return back()->with('error', 'Une erreur a surgi lors de la réinitialisation. Veuillez reprendre s\'il vous plaît.'); } }else{ return back()->with('error', 'Cette adresse n\'existe pas.'); } }else{ return back()->with('error', 'Vous n\'avez pas enclenché un processus de réinitialisation du mot de passe.'); } }else{ return back()->with('error', 'Les mots de passe doivent être identiques.'); } } public function profil(){ $id = Auth::guard('admin')->user()->id; $profil = Admin::find($id); //dd($rdv); return view('admin.profil.index', compact('profil')); } // Profil public function profilEdit(){ $id = Auth::guard('admin')->user()->id; $profil = Admin::find($id); //dd($rdv); return view('admin.profil.edit', compact('profil')); } public function profilUpdate(Request $request){ $request->validate([ "name" => ['required', 'string', 'max:50'], "email" => ['required', 'string'], ]); try{ $admin = Admin::find(Auth::guard('admin')->user()->id); $admin->pseudo = $request->name; $admin->email = $request->email; $admin->updated_at = Carbon::now(); $val = $admin->save(); if($val){ return redirect()->route('admin.profil')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function profilUpdatePhoto(Request $request){ $request->validate([ 'photo' => 'required|image|mimes:jpg,jpeg,png|max:5048', ]); $admin = Auth::guard('admin')->user(); $prof = Admin::find($admin->id); $old_image = Admin::find($admin->id); $image_name = $admin->photo; $image = $request->photo; $image_name = rand() . '.' . $image->getClientOriginalExtension(); $image->move(public_path('images/admin/profil'), $image_name); if($old_image->photo == 'user.png'){ }else{ if($old_image->photo == 'user.jpg'){ }else{ unlink('../public_html/images/admin/profil/'. $old_image->photo); } } $filename = public_path('images/admin/profil') .'/'. $image_name; $image = Image::make($filename)->fit(720,720); $image->save(); $prof->photo = $image_name; $bool = $prof->save(); if($bool){ return redirect()->route('admin.profil')->with('success', 'Photo de profil mise à jour avec succès'); }else{ return back()->with('error', 'L\'image n\'a pas été sauvegardé en base de données'); } } public function profilUpdatePassword(Request $request){ if(Hash::check($request->password, Auth::guard('admin')->user()->password)){ if($request->new_password === $request->confirmation_password){ $isFoundPro = Admin::where('email', Auth::guard('admin')->user()->email)->first(); if($isFoundPro){ $isFoundPro->password = Hash::make($request->new_password); $isFoundPro->updated_at = Carbon::now(); $resultatPro = $isFoundPro->save(); if($resultatPro){ return redirect()->route('admin.profil')->with('success', 'Réinitialisation effectuée avec succès.'); }else{ return back()->with('error', 'Une erreur a surgi lors de la réinitialisation. Veuillez reprendre s\'il vous plaît.'); } }else{ return back()->with('error', 'Utilisateur introuvable.'); } }else{ return back()->with('error', 'Les mots de passe doivent être identiques.'); } }else{ return back()->with('error', 'Mot de passe incorrect.'); } } public function profilEditPassword(){ return view('admin.profil.password'); } public function profilEditPhoto(){ return view('admin.profil.photo'); } public function type(){ $types = TypeProfessionnel::all(); return view('admin.type.index', compact('types')); } public function type_post(Request $request){ $request->validate([ "intitule" => ['', 'string'], "details" => ['', 'string'], ]); $type = TypeProfessionnel::create([ "intitule" => $request->intitule, "details" => $request->details, "created_at" => Carbon::now(), ]); if($type){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function type_vue(Request $request){ $type = TypeProfessionnel::findOrFail($request->id); return view('admin.type.type', compact('type')); } public function type_edit(Request $request){ $request->validate([ "intitule" => ['required', 'string'], "details" => ['required', 'string'], ]); try{ $type = TypeProfessionnel::find($request->id); $type->intitule = $request->intitule; $type->details = $request->details; $type->updated_at = Carbon::now(); $val = $type->save(); if($val){ return redirect()->route('admin.type')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function type_supprime(Request $request){ $type = TypeProfessionnel::find($request->id); $type->delete(); return redirect()->route('admin.type')->with('success', 'Type membre supprimé avec succès'); } public function activite(){ $activites = Activite::all(); return view('admin.activite.index', compact('activites')); } public function activite_post(Request $request){ $request->validate([ "intitule" => ['', 'string'], "date_debut" => ['', 'date'], "montant" => ['', 'string'], ]); $activite = Activite::create([ "intitule" => $request->intitule, "date_debut" => $request->date_debut, "date_fin" => $request->date_fin, "montant" => $request->montant, "created_at" => Carbon::now(), ]); if($activite){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function activite_vue(Request $request){ $activite = Activite::findOrFail($request->id); return view('admin.activite.activite', compact('activite')); } public function activite_edit(Request $request){ $request->validate([ "intitule" => ['required', 'string'], "date_debut" => ['required', 'date'], "montant" => ['required', 'string'], ]); try{ $activite = Activite::find($request->id); $activite->intitule = $request->intitule; $activite->date_debut = $request->date_debut; $activite->date_fin = $request->date_fin; $activite->montant = $request->montant; $activite->updated_at = Carbon::now(); $val = $activite->save(); if($val){ return redirect()->route('admin.activite')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function activite_supprime(Request $request){ $activite = Activite::find($request->id); $activite->delete(); return redirect()->route('admin.activite')->with('success', 'Type membre supprimé avec succès'); } public function entreprise(){ $entreprises = Entreprise::all(); return view('admin.entreprise.index', compact('entreprises')); } public function entreprise_post(Request $request){ $request->validate([ "nom_entreprise" => ['', 'string'], "statut_juridique" => ['', 'string'], "domaine_activite" => ['', 'string'], "email" => ['', 'string', 'email', 'max:255', 'unique:entreprises'], "telephone" => ['', 'string', 'max:20', 'unique:entreprises'], "adresse" => ['', 'string'], ]); $entreprise = Entreprise::create([ "nom_entreprise" => $request->nom_entreprise, "statut_juridique" => $request->statut_juridique, "domaine_activite" => $request->domaine_activite, "web" => $request->web, "representant" => $request->representant, "email" => $request->email, "telephone" => $request->telephone, "adresse" => $request->adresse, "created_at" => Carbon::now(), ]); if($entreprise){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function entreprise_vue(Request $request){ $entreprise = Entreprise::findOrFail($request->id); return view('admin.entreprise.entreprise', compact('entreprise')); } public function entreprise_edit(Request $request){ $request->validate([ "nom_entreprise" => ['required', 'string'], "statut_juridique" => ['required', 'string'], "domaine_activite" => ['required', 'string'], "email" => ['required', 'string', 'email', 'max:255'], "telephone" => ['required', 'string', 'max:20'], "adresse" => ['required', 'string'], ]); try{ $entreprise = Entreprise::find($request->id); $entreprise->nom_entreprise = $request->nom_entreprise; $entreprise->statut_juridique = $request->statut_juridique; $entreprise->domaine_activite = $request->domaine_activite; $entreprise->web = $request->web; $entreprise->representant = $request->representant; $entreprise->email = $request->email; $entreprise->telephone = $request->telephone; $entreprise->adresse = $request->adresse; $entreprise->updated_at = Carbon::now(); $val = $entreprise->save(); if($val){ return redirect()->route('admin.entreprise')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function entreprise_supprime(Request $request){ $entreprise = Entreprise::find($request->id); $entreprise->delete(); return redirect()->route('admin.entreprise')->with('success', 'Entreprise supprimée avec succès'); } //Code d'ajout public function rubrique_encaissement(){ $resourencs = RessEnc::all(); return view('admin.rubencaissement.index', compact('resourencs')); } public function rubrique_encaissement_post(Request $request){ $request->validate([ "libelle" => ['', 'string'], "montant" => ['', 'string'], ]); $resourenc = RessEnc::create([ "libelle" => $request->libelle, "montant" => $request->montant, "created_at" => Carbon::now(), ]); if($resourenc){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function rubrique_encaissement_vue(Request $request){ $resourenc = RessEnc::findOrFail($request->id); return view('admin.rubencaissement.encaissement', compact('resourenc')); } public function rubrique_encaissement_edit(Request $request){ $request->validate([ "libelle" => ['required', 'string'], "montant" => ['required', 'string'], ]); try{ $resourenc = RessEnc::find($request->id); $resourenc->libelle = $request->libelle; $resourenc->montant = $request->montant; $resourenc->updated_at = Carbon::now(); $val = $resourenc->save(); if($val){ return redirect()->route('admin.rubrique.encaissement')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function rubrique_encaissement_destroy(Request $request){ $resourenc = RessEnc::find($request->id); $resourenc->delete(); return redirect()->route('admin.rubrique.encaissement')->with('success', 'Rubrique encaissement supprimée avec succès'); } public function rubrique_decaissement(){ $resourdecs = RessDec::all(); return view('admin.rubdecaissement.index', compact('resourdecs')); } public function rubrique_decaissement_post(Request $request){ $request->validate([ "libelle" => ['', 'string'], ]); $resourdec = RessDec::create([ "libelle" => $request->libelle, "created_at" => Carbon::now(), ]); if($resourdec){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } public function rubrique_decaissement_vue(Request $request){ $resourdec = RessDec::findOrFail($request->id); return view('admin.rubdecaissement.decaissement', compact('resourdec')); } public function rubrique_decaissement_edit(Request $request){ $request->validate([ "libelle" => ['required', 'string'], "montant" => ['required', 'string'], ]); try{ $resourdec = RessDec::find($request->id); $resourdec->libelle = $request->libelle; $resourdec->montant = $request->montant; $resourdec->updated_at = Carbon::now(); $val = $resourdec->save(); if($val){ return redirect()->route('admin.rubrique.decaissement')->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function rubrique_decaissement_destroy(Request $request){ $resourdec = RessDec::find($request->id); $resourdec->delete(); return redirect()->route('admin.rubrique.decaissement')->with('success', 'Rubrique décaissement supprimée avec succès'); } public function facturation(){ $facturations = Facturation::all(); $activites = Activite::all(); $membres = Professionnel::orderBy('nom', 'asc')->get(); $resourencs = RessEnc::all(); return view('admin.facturation.index', compact('facturations', 'activites', 'membres', 'resourencs')); } public function facturation_post(Request $request){ // dd($request); $request->validate([ "mois" => ['', 'date'], "montant" => ['', 'string'], "montant_rub" => ['', 'string'], "professionnel" => ['', 'string'], "libelle" => ['', 'string'], "activite" => ['', 'string'], ]); // dd($request); $facturation = Facturation::create([ "details" => $request->details, "mois" => $request->mois, "montant" => $request->montant, "montant_rub" => $request->montant_rub, "activite_id" => $request->activite, "ress_enc_id" => $request->libelle, "professionnel_id" => $request->professionnel, "created_at" => Carbon::now(), ]); // dd($membre); if($facturation){ return back()->with('success', 'Facturation ajoutée avec succès'); }else{ return back()->with('Une erreur a surgi'); } } public function facturation_destroy(Request $request){ $facturation = Facturation::find($request->id); $facturation->delete(); return redirect()->route('admin.facturation')->with('success', 'Facturation supprimée avec succès'); } public function facturation_encaissement(){ $facturations = Facturation::all(); $suivis = SuiviPayement::all(); $membres = Professionnel::all(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.encfactu.index', compact('facturations', 'suivis', 'membres', 'activites', 'resourencs')); } public function suivi_paiement(){ $suivis = SuiviPayement::all(); $membres = Professionnel::orderBy('nom', 'asc')->get(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.suivi.index', compact('suivis', 'membres', 'activites', 'resourencs')); } public function suivi_paiement_post(Request $request){ $request->validate([ "membre_id" => ['', 'string'], "type_payement" => ['', 'string'], "date_payement" => ['', 'date'], ]); $verif = SuiviPayement::where('professionnel_id', $request->membre_id)->where('activite_id', $request->intitule)->where('ress_enc_id', $request->libelle)->first(); if($verif){ $verif->montant = $verif->montant + $request->montant; $app = $verif->save(); if($app){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } }else{ $suivi = SuiviPayement::create([ "professionnel_id" => $request->membre_id, "montant" => $request->montant, "montant_ress_enc" => $request->montant_ress_enc, "activite_id" => $request->intitule, "ress_enc_id" => $request->libelle, "type_payement" => $request->type_payement, "date_payement" => $request->date_payement, "created_at" => Carbon::now(), ]); if($suivi){ return back()->with('success', 'Ajout effectué avec succès'); }else{ return back()->with('error', 'Une erreur a surgi'); } } } public function suivi_paiement_vue(Request $request){ /* $suivi = SuiviPayement::findOrFail($request->id); $membre = Professionnel::all(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.suivi.suivi', compact('suivi', 'membre', 'activites', 'resourencs'));*/ } public function suivi_paiement_destroy(Request $request){ $suivi = SuiviPayement::findOrFail($request->id); $suivi->delete(); return back()->with('success', 'Encaissement supprimé avec succès'); } public function membre(){ $membres = Professionnel::all(); $entreprises = Entreprise::all(); $types = TypeProfessionnel::all(); return view('admin.membre.index', compact('membres', 'entreprises', 'types')); } public function membre_post(Request $request){ // dd($request); $request->validate([ "prenom" => ['', 'string'], "nom" => ['', 'string'], "email" => ['', 'string', 'email', 'max:255', 'unique:professionnels'], "telephone" => ['', 'string', 'max:20', 'unique:professionnels'], //required|regex:/^([0-9\s\-\+\(\)]*)$/|min:8 "intitule" => ['', 'string'], "datenais" => ['', 'date'], "lieunais" => ['', 'string'], "photo" => 'image|mimes:jpg,jpeg,png,gif,svg|max:2048', "domaine_etude" => ['', 'string'], "niveau_etude" => ['', 'string'], // "date_adhesion" => ['required', 'date'], "diplome" => ['', 'string'], // "civilite" => ['required', 'string'], //"statut" => ['required', 'string'], "fonction" => ['', 'string'], "ville" => ['', 'string'], "pays" => ['', 'string'], "adresse" => ['', 'string'], //"password" => ['required', 'string'], //"statut_rh" => ['required', 'string'], ]); $image = $request->photo; $imageName = rand().'.'.$image->getClientOriginalExtension(); $image->move(public_path('images/membre/profil'), $imageName); $filename = public_path('images/membre/profil') .'/'. $imageName; $image = Image::make($filename)->fit(720,720); $image->save(); // dd($request); $membre = Professionnel::create([ "prenom" => $request->prenom, "nom" => $request->nom, "email" => $request->email, "telephone" => $request->telephone, "type_professionnel_id" => $request->intitule, "datenais" => $request->datenais, "lieunais" => $request->lieunais, "domaine_etude" => $request->domaine_etude, "niveau_etude" => $request->niveau_etude, //"date_adhesion" => $request->date_adhesion, "diplome" => $request->diplome, //"civilite" => $request->civilite, //"statut" => $request->statut, "fonction" => $request->fonction, "domaine_etude" => $request->domaine_etude, "ville" => $request->ville, "pays" => $request->pays, "adresse" => $request->adresse, "datenais" => $request->datenais, "lieunais" => $request->lieunais, "photo" => $imageName, "password" => Hash::make('user123'), "entreprise_id" => $request->entreprise, "created_at" => Carbon::now(), ]); // dd($membre); if($membre){ return back()->with('success', 'RH ajouté avec succès'); }else{ return back()->with('Une erreur a surgi'); } } public function membre_vue(Request $request){ $types = TypeProfessionnel::all(); $entreprises = Entreprise::all(); $membre = Professionnel::findOrFail($request->id); $suivis = SuiviPayement::where('professionnel_id', $request->id)->get(); $activites = Activite::all(); $resourencs = RessEnc::all(); return view('admin.membre.membre', compact('membre', 'entreprises', 'types', 'suivis', 'activites', 'resourencs')); } public function membre_edit(Request $request){ $request->validate([ "prenom" => ['', 'string'], "nom" => ['', 'string'], "email" => ['', 'string', 'email'], "telephone" => ['', 'string', 'max:20'], //"date_adhesion" => ['required', 'date'], "diplome" => ['', 'string'], //"civilite" => ['required', 'string'], //"statut" => ['required', 'string'], "fonction" => ['', 'string'], "domaine_etude" => ['required'], "niveau_etude" => ['required'], "ville" => ['', 'string'], "pays" => ['', 'string'], "adresse" => ['', 'string'], "datenais" => ['', 'string'], "lieunais" => ['', 'string'], "photo" => 'required|image|mimes:jpg,jpeg,png,gif,svg|max:2048', "entreprise" => ['', 'string'], "intitule" => ['required', 'string'], ]); $image = $request->photo; $imageName = rand().'.'.$image->getClientOriginalExtension(); $image->move(public_path('images/membre/profil'), $imageName); /** $old_image = Professionnel::find($request->id); if($old_image->photo == 'user.png'){ }else{ if($old_image->photo == 'user.jpg'){ }else{ unlink('../public_html/images/membre/profil/'. $old_image->photo); } } ***/ $filename = public_path('images/membre/profil') .'/'. $imageName; $image = Image::make($filename)->fit(720,720); $image->save(); try{ $membre = Professionnel::find($request->id); $membre->nom = $request->nom; $membre->prenom = $request->prenom; $membre->email = $request->email; $membre->telephone = $request->telephone; //$membre->date_adhesion = $request->date_adhesion; $membre->diplome = $request->diplome; // $membre->civilite = $request->civilite; // $membre->statut = $request->statut; $membre->fonction = $request->fonction; $membre->domaine_etude = $request->domaine_etude; $membre->niveau_etude = $request->niveau_etude; $membre->ville = $request->ville; $membre->pays = $request->pays; $membre->adresse = $request->adresse; $membre->datenais = $request->datenais; $membre->lieunais = $request->lieunais; $membre->photo = $imageName; $membre->entreprise_id = $request->entreprise; $membre->type_professionnel_id = $request->intitule; $membre->updated_at = Carbon::now(); $val = $membre->save(); if($val){ return back()->with('success', 'Modification effectuée avec succès'); }else{ return back()->with('error', 'Modification echouée'); } }catch (Exception $exception) { return back()->with('error', $exception->getMessage()); } } public function membre_etat(Request $request){ $mem = Professionnel::find($request->id); if($mem->etat){ $mem->etat = false; $mem->updated_at = Carbon::now(); $val = $mem->save(); if($val){ return back()->with('success', 'Désactivation effectuée avec succès'); }else{ return back()->with('error', 'Désactivation echouée'); } }else{ $mem->etat = true; $mem->updated_at = Carbon::now(); $val = $mem->save(); if($val){ return back()->with('success', 'Activation effectuée avec succès'); }else{ return back()->with('error', 'Activation echouée'); } } } public function membre_supprime(Request $request){ $membre = Professionnel::find($request->id); $membre->delete(); return redirect()->route('admin.membre')->with('success', 'Compte supprimé avec succès'); } public function flux(){ $fluxes = Flux::all(); $activites = Activite::all(); $resourdecs = RessDec::all(); return view('admin.flux.index', compact('fluxes', 'activites', 'resourdecs')); } public function flux_post(Request $request){ // dd($request); $request->validate([ "motif" => ['', 'string'], "montant" => ['', 'string'], "activite" => ['', 'string'], "libelle" => ['', 'string'], "date_flux" => ['', 'date'], ]); // dd($request); $flux = Flux::create([ "motif" => $request->motif, "montant" => $request->montant, "activite_id" => $request->activite, "ress_dec_id" => $request->libelle, "date_flux" => $request->date_flux, "created_at" => Carbon::now(), ]); // dd($membre); if($flux){ return back()->with('success', 'Décaissement ajouté avec succès'); }else{ return back()->with('Une erreur a surgi'); } } public function flux_supprime(Request $request){ $flux = Flux::findOrFail($request->id); $flux->delete(); return back()->with('success', 'Décaissement supprimé avec succès'); } }
Aperçu de l'interface générée par le code :
Pouvez-vous m'aider à comprendre pourquoi le code en ligne affiche deux colonnes supplémentaires ?
Merci beaucoup pour votre support
très cordialement /-
- Erreur non compréhensible
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 38 free ✓ - Forum Mobile
- Erreur vidéo freebox ✓ - Forum TV & Vidéo
2 réponses
28 nov. 2022 à 19:52
Bonjour,
Commence par faire un var_dump de tes variables et regardent ce qu'elles contiennent.
29 nov. 2022 à 10:04
Bonjour Jordane15,
Comment faire un var_dump ?
Merci--
29 nov. 2022 à 12:04