From fe2a7b62c8bf3bd4a8aec2548ff3e60a9753ad54 Mon Sep 17 00:00:00 2001 From: Thibault Richy Date: Tue, 26 Feb 2019 16:31:42 +0100 Subject: [PATCH] Retour 02 --- app/Http/Controllers/AjaxController.php | 19 +++++++ app/Http/Controllers/CampagneController.php | 3 +- app/Http/Controllers/ContactController.php | 10 +++- app/Http/Controllers/CouponController.php | 50 +++++++++++++++++-- .../Controllers/MaintenanceController.php | 16 ++++-- app/Http/Controllers/MurController.php | 2 +- app/Http/Controllers/SiteController.php | 2 +- app/Traits/CouponTrait.php | 13 +++++ app/Traits/GenerateBR.php | 33 +++++++++--- public/css/app.css | 17 +++++-- resources/sass/partials/form.scss | 9 +++- .../views/auth/passwords/reset.blade.php | 6 +-- resources/views/contact/create.blade.php | 14 +++--- resources/views/contact/index.blade.php | 16 +++--- resources/views/coupon/create.blade.php | 12 +++-- resources/views/coupon/edit.blade.php | 20 ++++++-- resources/views/site/create.blade.php | 16 +++--- resources/views/site/edit.blade.php | 9 ++-- resources/views/user/create.blade.php | 18 +++++-- 19 files changed, 224 insertions(+), 61 deletions(-) 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') }}

@@ -28,7 +28,7 @@
- +

{{ __('Password') }}

@@ -42,7 +42,7 @@
- +

{{ __('Confirm Password') }}

diff --git a/resources/views/contact/create.blade.php b/resources/views/contact/create.blade.php index 99b6eab..850f93f 100644 --- a/resources/views/contact/create.blade.php +++ b/resources/views/contact/create.blade.php @@ -6,31 +6,31 @@ {!! Form::open(['route' => 'contact.store', 'enctype' => 'multipart/form-data']) !!}
- {!! Form::label('contact_ref', 'Ref') !!} + {!! Form::label('contact_ref', 'Ref *') !!} {!! Form::input('text', 'contact_ref', null, ['required']) !!}
- {!! Form::label('contact_email', 'Email') !!} + {!! Form::label('contact_email', 'Email *') !!} {!! Form::email('contact_email', null, ['required']) !!}
- {!! Form::label('contact_nom', 'Nom') !!} + {!! Form::label('contact_nom', 'Nom *') !!} {!! Form::input('text','contact_nom', null, ['required']) !!}
- {!! Form::label('contact_prenom', 'Prénom') !!} + {!! Form::label('contact_prenom', 'Prénom *') !!} {!! Form::input('text','contact_prenom', null, ['required']) !!}
- {!! Form::label('contact_cp', 'Code Postal') !!} + {!! Form::label('contact_cp', 'Code Postal *') !!} {!! Form::input('text','contact_cp', null, ['required']) !!}
- {!! Form::label('contact_ville', 'Ville') !!} + {!! Form::label('contact_ville', 'Ville *') !!} {!! Form::input('text','contact_ville', null, ['required']) !!}
@@ -39,7 +39,6 @@
+
- +
- +
- +
- +
diff --git a/resources/views/coupon/create.blade.php b/resources/views/coupon/create.blade.php index e388284..b94b669 100644 --- a/resources/views/coupon/create.blade.php +++ b/resources/views/coupon/create.blade.php @@ -134,11 +134,17 @@
- {!! Form::label('coupon_decoration_image', 'Image de décoration') !!} - {!! Form::file('coupon_decoration_image', ['class' => 'input-file', 'required']) !!} +
+ {!! Form::label('coupon_decoration_image', 'Image de décoration') !!} + (310x280px ou 310x160px si GS1) +
+ {!! Form::file('coupon_decoration_image', ['class' => 'input-file', 'required', 'accept' => '.jpg,.jpeg,.png']) !!}
- {!! Form::label('coupon_logo_image', 'Logo à afficher') !!} +
+ {!! Form::label('coupon_logo_image', 'Logo à afficher') !!} + 135x70px +
{!! Form::file('coupon_logo_image', ['class' => 'input-file', 'required']) !!}
diff --git a/resources/views/coupon/edit.blade.php b/resources/views/coupon/edit.blade.php index c0bd556..ef349d7 100644 --- a/resources/views/coupon/edit.blade.php +++ b/resources/views/coupon/edit.blade.php @@ -1,6 +1,15 @@ @extends('layouts.main') @section('content') +@if ($errors->any()) +
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+@endif

Editer le Coupon

{!! Form::model($coupon, ['route' => ['coupon.update', $coupon], 'enctype' => 'multipart/form-data']) !!} @@ -173,10 +182,11 @@
{!! Form::label('coupon_decoration_image', 'Image de décoration') !!} - (310x280px ou 310x160px si GS1) + 310x280px ou 310x160px si GS1 + Formats : JPG ou PNG
- {!! Form::file('coupon_decoration_image', ['class' => 'input-file']) !!} + {!! Form::file('coupon_decoration_image', ['class' => 'input-file', 'accept' => '.jpg,.jpeg,.png']) !!} @if($coupon->coupon_decoration_image != "")
{{ $coupon->coupon_name }} @@ -188,6 +198,7 @@
{!! Form::label('coupon_logo_image', 'Logo à afficher') !!} 135x70px + Formats : JPG ou PNG
{!! Form::file('coupon_logo_image', ['class' => 'input-file']) !!} @if($coupon->coupon_logo_image != "") @@ -210,7 +221,10 @@
- {!! Form::label('coupon_gs1code', 'Image du code barre GS1') !!} +
+ {!! Form::label('coupon_gs1code', 'Image du code barre GS1') !!} + Formats : JPG +
{!! Form::file('coupon_gs1code', ['class' => 'input-file']) !!} @if($coupon->coupon_gs1code != "")
diff --git a/resources/views/site/create.blade.php b/resources/views/site/create.blade.php index 06f7ada..1b134e3 100644 --- a/resources/views/site/create.blade.php +++ b/resources/views/site/create.blade.php @@ -15,36 +15,40 @@ {!! Form::open(['route' => 'site.store', 'enctype' => 'multipart/form-data']) !!}
- {!! Form::label('site_id', 'Ref') !!} + {!! Form::label('site_id', 'Ref *') !!} {!! Form::input('text', 'site_id', null, ['required']) !!}
- {!! Form::label('site_nom', 'Nom') !!} + {!! Form::label('site_nom', 'Nom *') !!} {!! Form::input('text', 'site_nom', null, ['required']) !!}
- {!! Form::label('site_logo', 'Logo') !!} +
+ {!! Form::label('site_logo', 'Logo *') !!} + 150x60px +
{!! Form::file('site_logo', ['class' => 'input-file', 'required']) !!}
- {!! Form::label('site_contact', 'Contact') !!} + {!! Form::label('site_contact', 'Contact *') !!} {!! Form::email('site_contact', null, ['required']) !!}

Informations pour génération des BR :

- {!! Form::label('site_libelle', 'Libellé du site') !!} + {!! Form::label('site_libelle', 'Libellé du site *') !!} {!! Form::input('text', 'site_libelle', null, ['required']) !!}
- {!! Form::label('site_rcs', 'RCS du site') !!} + {!! Form::label('site_rcs', 'RCS du site *') !!} {!! Form::input('text', 'site_rcs', null, ['required']) !!}
+ Les champs avec un * sont obligatoires {!! Form::submit('Enregistrer') !!}
{!! Form::close() !!} diff --git a/resources/views/site/edit.blade.php b/resources/views/site/edit.blade.php index 5a63a46..aad5174 100644 --- a/resources/views/site/edit.blade.php +++ b/resources/views/site/edit.blade.php @@ -18,7 +18,10 @@
- {!! Form::label('site_logo', 'Logo') !!} +
+ {!! Form::label('site_logo', 'Logo') !!} + 150x60px +
{!! Form::file('site_logo', null, ['required']) !!} {!! Form::input('hidden', 'site_logo_hidden', $site->site_logo) !!}
@@ -52,16 +55,14 @@ {{__('Ref') }} {{__('Création') }} {{__('Nom') }} - @foreach($site->campagnes as $c) {{ $c->camp_id }} - {{ $c->camp_name }} + {{ $c->camp_name }} {{ $c->camp_createdate }} - @endforeach diff --git a/resources/views/user/create.blade.php b/resources/views/user/create.blade.php index 6f88213..05dd3f7 100644 --- a/resources/views/user/create.blade.php +++ b/resources/views/user/create.blade.php @@ -2,22 +2,31 @@ @section('content')

Nouvel utilisateur

+@if ($errors->any()) +
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+@endif
{!! Form::open(['route' => 'maintenance.user.create', 'enctype' => 'multipart/form-data', 'autocomplete' => 'off']) !!}
- {!! Form::label('name', 'Nom') !!} + {!! Form::label('name', 'Nom *') !!} {!! Form::text('name', null, ['required']) !!}
- {!! Form::label('email', 'Email') !!} + {!! Form::label('email', 'Email *') !!} {!! Form::input('text', 'email', null, ['required']) !!}
- {!! Form::label('password', 'Mot de passe') !!} - {!! Form::password('password', $attributes = ['autocomplete' => 'new-password']) !!} + {!! Form::label('password', 'Mot de passe *') !!} + {!! Form::password('password', $attributes = ['autocomplete' => 'new-password', 'required' => 'required', 'minlength' => 6]) !!}
{!! Form::label('roles', 'Rôle') !!} @@ -35,6 +44,7 @@ @endforeach
+ Les champs avec un * sont obligatoires {!! Form::submit('Enregistrer') !!}
{!! Form::close() !!}