diff --git a/app/Http/Controllers/AjaxController.php b/app/Http/Controllers/AjaxController.php index f63ca5f..6589c3f 100644 --- a/app/Http/Controllers/AjaxController.php +++ b/app/Http/Controllers/AjaxController.php @@ -391,6 +391,25 @@ class AjaxController extends Controller $siteId = $campagne->camp_siteId; $demoContact = Contact::where(['contact_siteId' => $siteId, 'contact_ref' => 'DEMO'])->first(); + if(!isset($demoContact)){ + $req = new \Illuminate\Http\Request(); + $req->setMethod('POST'); + $req->request->add([ + 'refsite' => $siteId, + 'refadherent' => 'DEMO', + 'prenom' => 'Compte', + 'nom' => 'Démonstration', + 'email' => 'demo@demo.fr', + 'code_postal' => '72000', + 'commune' => 'Le Mans', + 'pays' => 250 + ]); + + $contact = new Controllers\ContactController; + $res = $contact->updateContact($req); + $demoContact = Contact::where(['contact_siteId' => $siteId, 'contact_ref' => 'DEMO'])->first(); + } + if($campagne->camp_type == 0 || $campagne->camp_type == 2){ // ---- DEMONSTRATION POUR LES MURS $myRequest = new \Illuminate\Http\Request(); diff --git a/app/Http/Controllers/CampagneController.php b/app/Http/Controllers/CampagneController.php index 8e0e7e5..ba02795 100644 --- a/app/Http/Controllers/CampagneController.php +++ b/app/Http/Controllers/CampagneController.php @@ -49,6 +49,7 @@ class CampagneController extends Controller */ public function store(Request $request) { + $campagne = new Campagne(); $campagne->camp_name = $request->input('camp_name'); $campagne->camp_type = $request->input('camp_type'); @@ -138,7 +139,7 @@ class CampagneController extends Controller { $campagne->camp_published = 0; $campagne->save(); - File::deleteDirectory(public_path('/landings/' . $campagne->camp_id)); + //File::deleteDirectory(public_path('/landings/' . $campagne->camp_id)); if ($campagne->delete()) { return redirect(route('campagne.index')); } else { diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index 78dbec2..fa56f9c 100644 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -46,7 +46,15 @@ class ContactController extends Controller ->searchVille($ville) ->searchCountry($country) ->paginate(2,['*'],'page',$page); - return view('contact.index')->with('contacts', $contacts)->with('search', true); + $searchData = array( + 'name' => $name, + 'firstname' => $firstname, + 'email' => $email, + 'cp' => $cp, + 'ville' => $ville, + 'pays' => $country + ); + return view('contact.index')->with('contacts', $contacts)->with('search', true)->with('searchData', $searchData); } else { $contacts = Contact::where('contact_siteId', session()->get('site')->site_id)->orderBy('contact_createdate', 'DESC')->take(10)->get(); diff --git a/app/Http/Controllers/CouponController.php b/app/Http/Controllers/CouponController.php index 0114e42..35b42af 100644 --- a/app/Http/Controllers/CouponController.php +++ b/app/Http/Controllers/CouponController.php @@ -14,6 +14,7 @@ use App\Calendrier; use Illuminate\Support\Facades\Storage; use App\Traits\GenerateBR; use App\Traits\CouponTrait; +use Validator; class CouponController extends Controller { @@ -66,19 +67,31 @@ class CouponController extends Controller */ public function store(Request $request) { - $request->validate([ + $data = $request->all(); + + $v = Validator::make($data, [ 'coupon_validity_text' => 'required', 'coupon_legal_mentions' => 'required', - 'coupon_decoration_image' => 'required', - 'coupon_logo_image' => 'required', + 'coupon_decoration_image' => 'required|image|mimes:jpeg,png', + 'coupon_logo_image' => 'required|image|mimes:jpeg,png', 'coupon_rcs' => 'required', - 'coupon_site_contact' => 'required' + 'coupon_site_contact' => 'required', ]); + $v->sometimes('coupon_gs1code', 'required|image|mimes:jpeg', function ($input) { + return isset($input->coupon_norme); + }); + + if ($v->fails()) { + return redirect('bo/coupon/'.$coupon->coupon_id.'/edit') + ->withErrors($v) + ->withInput(); + } + + $datas = $this->saveImg($request); - \Debugbar::info($datas); $coupon = new Coupon(); $coupon->coupon_code = $datas['coupon_code']; @@ -192,6 +205,24 @@ class CouponController extends Controller */ public function update(Request $request, Coupon $coupon) { + + $data = $request->all(); + + $v = Validator::make($data, [ + 'coupon_decoration_image' => 'image|mimes:jpeg,png', + 'coupon_logo_image' => 'image|mimes:jpeg,png', + ]); + + $v->sometimes('coupon_gs1code', 'required|image|mimes:jpeg', function ($input) { + return isset($input->coupon_norme); + }); + + if ($v->fails()) { + return redirect('bo/coupon/'.$coupon->coupon_id.'/edit') + ->withErrors($v) + ->withInput(); + } + if(!isset($request->coupon_enablelimitquantity)){ $coupon->coupon_enablelimitquantity = 0; } @@ -217,6 +248,15 @@ class CouponController extends Controller $coupon->mouvements()->save($mouvement); } } + if(isset($datas['startdate'])){ + $coupon->calendriers()->delete(); + foreach($datas['startdate'] as $key => $value){ + $calendar = new Calendrier(); + $calendar->calendrier_startdate = $value; + $calendar->calendrier_enddate = $datas['enddate'][$key]; + $coupon->calendriers()->save($calendar); + } + } session()->flash('update_ok', 'Mise à jour du coupon réussie !'); return view('coupon.edit', ['coupon' => $coupon]); diff --git a/app/Http/Controllers/MaintenanceController.php b/app/Http/Controllers/MaintenanceController.php index 663733c..c0779f9 100644 --- a/app/Http/Controllers/MaintenanceController.php +++ b/app/Http/Controllers/MaintenanceController.php @@ -52,6 +52,13 @@ class MaintenanceController extends Controller } public function userstore(Request $request){ + + $validatedData = $request->validate([ + 'email' => 'required|unique:users|email', + 'name' => 'required', + 'password' => 'required' + ]); + $nom = $request->name; $email = $request->email; $password = $request->password; @@ -65,9 +72,12 @@ class MaintenanceController extends Controller $user->save(); //MAJ des sites liés - $siteids = $request->site; - $sites = Site::whereIn('site_id', $siteids)->get()->pluck('id')->toArray(); - $user->sites()->sync($sites); + if(isset($request->site)){ + $siteids = $request->site; + $sites = Site::whereIn('site_id', $siteids)->get()->pluck('id')->toArray(); + $user->sites()->sync($sites); + } + $sites = Site::all(); $usersites = $user->sites()->get()->pluck('site_id')->toArray(); diff --git a/app/Http/Controllers/MurController.php b/app/Http/Controllers/MurController.php index 6d45691..f50c8be 100644 --- a/app/Http/Controllers/MurController.php +++ b/app/Http/Controllers/MurController.php @@ -28,7 +28,7 @@ class MurController extends Controller $ref = $campagne->camp_id; } - if($campagne->camp_published == 0){ + if(!isset($campagne) || $campagne->camp_published == 0){ abort(404); } diff --git a/app/Http/Controllers/SiteController.php b/app/Http/Controllers/SiteController.php index 2f80ac4..a212ca9 100644 --- a/app/Http/Controllers/SiteController.php +++ b/app/Http/Controllers/SiteController.php @@ -39,7 +39,7 @@ class SiteController extends Controller public function store(Request $request) { $request->validate([ - 'site_id' => 'required', + 'site_id' => 'required|unique:site', 'site_nom' => 'required', 'site_contact' => 'required', 'site_logo' => 'required', diff --git a/app/Traits/CouponTrait.php b/app/Traits/CouponTrait.php index 1d26cde..c0e4f8f 100644 --- a/app/Traits/CouponTrait.php +++ b/app/Traits/CouponTrait.php @@ -5,6 +5,7 @@ namespace App\Traits; use App\Campagne; use app\Coupon; use App\Contact; +use App\Calendrier; use App\Mur; use App\Panier; @@ -57,6 +58,18 @@ trait CouponTrait { } } + // ----- Controle le calendrier de diffusion + // $calendars = Calendrier::where(['calendrier_couponId' => $coupon->coupon_id])->get(); + // if(isset($calendars)){ + // $available = false; + // foreach ($calendars as $calendar) { + // if(date('Y-m-d H:i:s') > $calendar->startdate && date('Y-m-d H:i:s') < $calendar->enddate){ + // $available = true; + // } + // } + // } + + return $available; } diff --git a/app/Traits/GenerateBR.php b/app/Traits/GenerateBR.php index 39e40be..c253c20 100644 --- a/app/Traits/GenerateBR.php +++ b/app/Traits/GenerateBR.php @@ -123,17 +123,36 @@ trait GenerateBR { imagecopy($mask, $ImageFond, 360, 170, 0, 0, imagesx($ImageFond), imagesy($ImageFond)); // ---- Copie le produit dans le mask - $pdt = imagecreatefromjpeg($product_image); - imagecopy($mask, $pdt, 45, 26, 0, 0, imagesx($pdt), imagesy($pdt)); - imagealphablending( $mask, false ); + $size = getimagesize($product_image); + switch ($size['mime']) { + case 'image/jpeg': + $pdt = imagecreatefromjpeg($product_image); + break; + case 'image/png': + $pdt = imagecreatefrompng($product_image); + break; + } + imagealphablending( $mask, true ); imagesavealpha( $mask, true ); + imagecopy($mask, $pdt, 45, 26, 0, 0, imagesx($pdt), imagesy($pdt)); + // ---- Copie le logo dans le mask - $logo = imagecreatefromjpeg($logo_display); - imagecopy($mask, $logo, 767, 220, 0, 0, imagesx($logo), imagesy($logo)); - imagealphablending( $mask, false ); - imagesavealpha( $mask, true ); + $size_logo = getimagesize($logo_display); + switch ($size_logo['mime']) { + case 'image/jpeg': + $logo = imagecreatefromjpeg($logo_display); + break; + case 'image/png': + $logo = imagecreatefrompng($logo_display); + break; + } + imagealphablending( $mask, true ); + imagesavealpha( $mask, true ); + imagecopy($mask, $logo, 767, 220, 0, 0, imagesx($logo), imagesy($logo)); + + // ---- Créer le fichier final imagepng($mask, public_path('generation')."/".$coupon->coupon_code.".png", 9); diff --git a/public/css/app.css b/public/css/app.css index f66952a..a6c8ea5 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -5846,9 +5846,20 @@ main section .content-wrapper .form-wrapper .form-field .title span { main section .content-wrapper .form-wrapper .form-field.submit { width: 100%; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; + margin-top: 20px; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: end; + -ms-flex-align: end; + align-items: flex-end; +} + +main section .content-wrapper .form-wrapper .form-field.submit span { + font-style: italic; + font-size: 0.8em; + margin-right: 20px; } main section .content-wrapper .form-wrapper .form-field.submit input { diff --git a/resources/sass/partials/form.scss b/resources/sass/partials/form.scss index 8b6ac03..1ca46c8 100644 --- a/resources/sass/partials/form.scss +++ b/resources/sass/partials/form.scss @@ -83,7 +83,14 @@ select { &.submit { width:100%; - justify-content: flex-end; + margin-top:20px; + flex-direction:column; + align-items: flex-end; + span { + font-style:italic; + font-size:0.8em; + margin-right:20px; + } input { min-width:26%; } diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php index ee256a6..a8119bf 100644 --- a/resources/views/auth/passwords/reset.blade.php +++ b/resources/views/auth/passwords/reset.blade.php @@ -14,7 +14,7 @@
{{ __('E-Mail Address') }}
{{ __('Password') }}
{{ __('Confirm Password') }}