shell bypass 403
<?php namespace App\Livewire\Paiment; use Livewire\Component; use Livewire\Attributes\Title; use App\Models\contrat\autocontrat; use Livewire\Attributes\Validate; use App\Models\{Garanties,Produit, Compagnie, Energie,DureeContrat, Avenant, Paiement,Devise, Souscripteur, Assure, Vehicule, }; use Carbon\Carbon; use Illuminate\Support\Facades\DB; use Livewire\Attributes\Rule; use Illuminate\Support\Facades\Auth; class Createpaiement extends Component { public $totalPrimeTTC; public $totalVersement; public $montant_a_payer; public $contratReglementDetail; #[Validate('required')] public $montantRecu; public $Idavenant; public $devise; public $cours; public function mount($id) { if (!Auth::check()) { return redirect()->route('post.login'); } $this->totalPrimeTTC = Avenant::leftJoin('autocontrats as ac', 'ac.IDavenant', '=', 'avenants.id') ->where('avenants.id', $id) // Utilisation de l'ID de l'avenant directement ->sum('ac.prime_ttc'); $this->totalVersement = Avenant::leftJoin('paiements as p', 'p.IDavenant', '=', 'avenants.id') ->where('avenants.id', $id) // Utilisation de l'ID de l'avenant directement ->sum('p.montantRecu'); $this->montant_a_payer = Paiement::where('IDavenant', $id) ->orderBy('id', 'desc') ->value('Reste_a_payer'); $this->contratReglementDetail = Paiement::where('IDavenant', $id)->orderBy('id', 'asc')->get(); $this->Idavenant = $id; } public function save(){ $validate = $this->validate([ 'montantRecu'=>'required|numeric', 'devise'=>'required|exists:devises,id', 'cours'=>'required|numeric', ]); if ($this->Idavenant && $this->devise && $this->cours) { $verse = ((int)$this->totalVersement + (int)$this->montantRecu); $reste = ((int)$this->totalPrimeTTC - (int)$verse); if ($verse <= $this->totalPrimeTTC ) { $paiement = Paiement::create([//--------------PAIEMANT 'IDavenant'=> $this->Idavenant, 'IDdevise'=> $this->devise, 'status_paiement'=> $reste == 0 ? 'payé' : 'impayé', 'cours'=>$this->cours, 'montantRecu'=> (int)$this->montantRecu, 'Reste_a_payer'=> (int)$reste, ]);//-------------PAIEMENT return redirect()->to('/contrat/impaye/auto'); }else{ session()->flash('message', 'Veuillez verifier le montant versé.'); } }else{ session()->flash('erreur', 'Erreur. Veuillez renseingner les champs.'); } } #[Title('Paiement de la prime')] public function render() { $devises = Devise::get(); return view('livewire.paiment.createpaiement',[ 'devises'=>$devises, ]); } }