query('basketid')); $panier = Panier::where(['panier_ref' => $request->basketid])->first(); abort_unless($panier, 404); session()->put('panier', $panier); $panierCouponsCount = $this->getCountCouponsPanierPublished($panier); $contact = Contact::where(['contact_id' => $panier->panier_contactId])->first(); abort_unless($contact, 404); session()->put('contact', $contact); $campagne = Campagne::where(['camp_id' => $panier->panier_campId, 'camp_published' => 1])->first(); abort_unless($campagne, 404); session()->put('campagne', $campagne); if ($campagne->camp_type->equals(CampaignTypes::panier())) { $coupons = $this->getCouponsPublished($campagne); } else { $panierContents = $this->getPanierContentPublished($panier); $coupons = []; foreach ($panierContents as $panierContent) { $cp = Coupon::where(['coupon_id' => $panierContent->panier_content_couponId])->first(); $qty = $panierContent->panier_content_quantity; for ($i = 0; $i < $qty; $i++) { $coupons[] = $cp; } } } session()->put('coupons', $coupons); return view('landings::' . $panier->panier_campId . '.index') ->with(['ref' => $panier->panier_campId, 'coupons' => $coupons, 'contact' => $contact, 'nb' => $panierCouponsCount]); } public function printPanierSelect(Request $request) { if (isset($request->coupons)) { session()->put('coupons', $request->coupons); } $coupons = session('coupons', []); abort_unless($request->session()->has('campagne'), 404); $campagne = $request->session()->get('campagne'); $ref = $campagne->camp_id; return view('landings::' . $ref . '.imprimer') ->with(['ref' => $ref, 'coupons' => $coupons, 'contact' => $request->session()->get('contact')]); } public function showBasket(Request $request) { // ---- Contrôle des paramètres if (isset($request->basketid) && $request->basketid != "") { $basketid = $request->basketid; } else { return response()->json([ 'Statut' => 'KO', 'Code' => 106, 'Message' => 'Le panier n\'existe pas' ]); } $panier = Panier::where('panier_ref', $basketid)->first(); if (!$panier) { return response()->json([ 'Statut' => 'KO', 'Code' => 106, 'Message' => 'Le panier n\'existe pas' ]); } if ($panier->panier_pending == 1) { $encours = "oui"; } else { $encours = "non"; } $contact = $panier->contact()->where(['contact_id' => $panier->panier_contactId])->first(); if (!$contact) { return response()->json([ 'Statut' => 'KO', 'Code' => 104, 'Message' => 'Le contact n\'existe pas' ]); } $campagne = $panier->campagne()->where(['camp_id' => $panier->panier_campId])->first(); if (!$campagne) { return response()->json([ 'Statut' => 'KO', 'Code' => 103, 'Message' => 'La campagne n\'existe pas' ]); } $site = $campagne->site()->first(); if ($site === null) { return response()->json([ 'Statut' => 'KO', 'Code' => 102, 'Message' => 'Le site n\'existe pas' ]); } $allPanierContent = $panier->panierContents()->get(); if ($allPanierContent->count() == 0) { return response()->json([ 'Statut' => 'KO', 'Code' => 108, 'Message' => 'Le panier n\'a pas de coupons liés' ]); } $response = new \stdClass(); $response->Site = $site->site_nom . " (" . $site->site_id . ")"; $response->Campagne = $campagne->camp_name . " (" . $campagne->camp_id . ")"; $response->Panier = $panier->panier_ref; $response->DateCreation = date("d/m/Y", strtotime($panier->panier_createdate)); $response->EnCours = $encours; $response->Nom = $contact->contact_nom; $response->Prenom = $contact->contact_prenom; $response->Email = $contact->contact_email; $response->CodePostal = $contact->contact_cp; $response->Commune = $contact->contact_ville; $panCont = []; foreach ($allPanierContent as $panierContent) { $coupon = Coupon::where(['coupon_id' => $panierContent->panier_content_couponId])->first(); if ($coupon) { array_push($panCont, $coupon->coupon_code . " - " . $coupon->coupon_name . " (x" . $panierContent->panier_content_quantity . ")"); } } $response->panierContent = $panCont; return response()->json([ 'Statut' => 'OK', 'Informations Panier' => $response ]); } }