From cc3ad03aa4877b75af7273b424f901bb626f7034 Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Wed, 9 Oct 2024 14:29:27 +0200 Subject: [PATCH] fix: :bug: processing of club feedback #179 --- .../Club/Customers/StoreCustomerRequest.php | 6 +- .../Club/Customers/UpdatePasswordRequest.php | 24 +++- resources/lang/en/validation.php | 1 + resources/lang/fr/validation.php | 1 + resources/sass/club/pages/_account.scss | 8 +- .../components/club/shop/ChooseComponent.vue | 13 +- .../components/club/shop/RecapComponent.vue | 2 +- .../views/club/auth/passwords/reset.blade.php | 2 +- .../partials/customer-form.blade.php | 2 +- .../partials/customer-password-form.blade.php | 124 +++++++++++------- .../club/pages/departaimants/index.blade.php | 8 +- .../club/pages/favorites/layout.blade.php | 2 +- .../views/club/pages/home/guest.blade.php | 4 +- .../views/club/pages/home/homepage.blade.php | 36 ++--- .../pages/shop/template-pdf-order.blade.php | 2 +- .../club/partials/card-club-home.blade.php | 4 +- 16 files changed, 152 insertions(+), 87 deletions(-) diff --git a/app/Http/Requests/Club/Customers/StoreCustomerRequest.php b/app/Http/Requests/Club/Customers/StoreCustomerRequest.php index a167a761..dde3c49c 100644 --- a/app/Http/Requests/Club/Customers/StoreCustomerRequest.php +++ b/app/Http/Requests/Club/Customers/StoreCustomerRequest.php @@ -73,7 +73,7 @@ class StoreCustomerRequest extends FormRequest 'required', 'email:rfc,dns,spoof', 'max:255', - // * Does email already exists in CRM ? + // Does email already exists in CRM ? // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundBeforeLastUsed function (string $attribute, $value, \Closure $fail) { if (CrmCustomer::findWithEmail(\strval($value))) { @@ -113,8 +113,8 @@ class StoreCustomerRequest extends FormRequest 'email' => trans('validation.attributes.email'), 'password' => trans('validation.attributes.password'), 'password_confirmation' => trans('validation.attributes.password_confirmation'), - 'ok_cgv' => trans('conditions d\'utilisation'), - 'opt_in' => trans('newsletter'), + 'ok_cgv' => trans('validation.custom.terms'), + 'opt_in' => trans('validation.custom.newsletter'), ]; } } diff --git a/app/Http/Requests/Club/Customers/UpdatePasswordRequest.php b/app/Http/Requests/Club/Customers/UpdatePasswordRequest.php index 33304fa6..6ac4d972 100644 --- a/app/Http/Requests/Club/Customers/UpdatePasswordRequest.php +++ b/app/Http/Requests/Club/Customers/UpdatePasswordRequest.php @@ -33,8 +33,10 @@ class UpdatePasswordRequest extends FormRequest new CrmCustomerPassword($crmCustomer) ], 'password' => [ - 'required', 'string', 'max:255', 'confirmed', - Password::min(8)->mixedCase()->letters()->numbers()->uncompromised() + 'required', + 'string', + 'confirmed', + Password::min(8)->max(255)->mixedCase()->letters()->numbers()->uncompromised() ] ]; } @@ -51,4 +53,22 @@ class UpdatePasswordRequest extends FormRequest 'password' => trans('validation.attributes.password'), ]; } + + /** + * Get custom messages for validator errors. + * + * @return array + */ + public function messages(): array + { + return [ + 'password.max' => trans('255 caractères maximum'), + 'password.min' => trans('8 caractères minimum'), + 'password.letters' => trans('Au moins une lettre'), + 'password.numbers' => trans('Au moins un chiffre'), + 'password.mixed' => trans('Au moins une lettre majuscule et une lettre minuscule'), + 'password.uncompromised' => trans('Ne doît pas être compromis'), + 'password.confirmed' => trans('La confirmation doît correspondre au nouveau'), + ]; + } } diff --git a/resources/lang/en/validation.php b/resources/lang/en/validation.php index fe235278..68d81e50 100644 --- a/resources/lang/en/validation.php +++ b/resources/lang/en/validation.php @@ -277,6 +277,7 @@ return [ 'multiple_answers' => 'multiple answers', 'nb_guests' => 'number of reference persons for the list of ingredients', 'new' => 'new', + 'newsletter' => 'newsletter', 'on_homepage' => 'on homepage', 'order' => 'order', 'packaging' => 'packaging', diff --git a/resources/lang/fr/validation.php b/resources/lang/fr/validation.php index df659f59..d78bfd7f 100644 --- a/resources/lang/fr/validation.php +++ b/resources/lang/fr/validation.php @@ -282,6 +282,7 @@ return [ 'multiple_answers' => 'multiple réponses', 'nb_guests' => 'nombre de personnes de référence pour la liste des ingrédients', 'new' => 'nouveau', + 'newsletter' => 'newsletter', 'old_password' => 'ancien mot de passe', 'on_homepage' => 'sur la page d\'accueil', 'order' => 'ordre', diff --git a/resources/sass/club/pages/_account.scss b/resources/sass/club/pages/_account.scss index 994c1ed0..a17a4e87 100644 --- a/resources/sass/club/pages/_account.scss +++ b/resources/sass/club/pages/_account.scss @@ -30,8 +30,10 @@ } .left-part { - position: sticky; - top: 2rem; - height: fit-content; + @include media-breakpoint-up(lg) { + position: sticky; + top: 2rem; + height: fit-content; + } } } diff --git a/resources/ts/club/components/club/shop/ChooseComponent.vue b/resources/ts/club/components/club/shop/ChooseComponent.vue index b0dcd71b..c493a3f3 100644 --- a/resources/ts/club/components/club/shop/ChooseComponent.vue +++ b/resources/ts/club/components/club/shop/ChooseComponent.vue @@ -4,12 +4,12 @@
-
-
+
+

{{ trans.methods.__('Ma commande') }}

@@ -123,7 +123,7 @@

- {{ trans.methods.__('Montant Total') }} : + {{ trans.methods.__('Montant Total (TTC)') }} :

{{ formatPrice(currentShop.total) }}
@@ -267,4 +267,7 @@ function formatPrice(number: number): string { .fade-leave-to { opacity: 0; } +.recap-command { + top: 1.5rem; +} diff --git a/resources/ts/club/components/club/shop/RecapComponent.vue b/resources/ts/club/components/club/shop/RecapComponent.vue index 1b6e6b31..3fdf4189 100644 --- a/resources/ts/club/components/club/shop/RecapComponent.vue +++ b/resources/ts/club/components/club/shop/RecapComponent.vue @@ -236,7 +236,7 @@ colspan="4" >

- +

{{ formatPrice(currentShop.total) }} {{ trans.methods.__('Frais de port inclus') }} diff --git a/resources/views/club/auth/passwords/reset.blade.php b/resources/views/club/auth/passwords/reset.blade.php index 19c0874a..8c10d0ff 100644 --- a/resources/views/club/auth/passwords/reset.blade.php +++ b/resources/views/club/auth/passwords/reset.blade.php @@ -78,7 +78,7 @@ {!! clean( __( - 'Le mot de passe doit avoir une longueur de 8 caractères minimum,
doit contenir une lettre majuscule et une lettre minucule,
doit contenir un caractère spécial comme une virgule par exemple,
doit contenir un chiffre.', + 'Le mot de passe doît respecter certaines règles :
8 caractères minimum,
Au moins une lettre majuscule et une lettre minucule,
Au moins un caractère spécial : \ / * ! « ? : @ |,
Au moins un chiffre.', ), ) !!}
diff --git a/resources/views/club/pages/customers/partials/customer-form.blade.php b/resources/views/club/pages/customers/partials/customer-form.blade.php index 61e4a064..1bda2ecc 100644 --- a/resources/views/club/pages/customers/partials/customer-form.blade.php +++ b/resources/views/club/pages/customers/partials/customer-form.blade.php @@ -195,7 +195,7 @@ {!! clean( __( - 'Le mot de passe doit avoir une longueur de 8 caractères minimum,
doit contenir une lettre majuscule et une lettre minucule,
doit contenir un caractère spécial comme une virgule par exemple,
doit contenir un chiffre.', + 'Le mot de passe doît respecter certaines règles :
8 caractères minimum,
Au moins une lettre majuscule et une lettre minucule,
Au moins un caractère spécial : \ / * ! « ? : @ |,
Au moins un chiffre.', ), ) !!}
diff --git a/resources/views/club/pages/customers/partials/customer-password-form.blade.php b/resources/views/club/pages/customers/partials/customer-password-form.blade.php index 98d05753..443ce59c 100644 --- a/resources/views/club/pages/customers/partials/customer-password-form.blade.php +++ b/resources/views/club/pages/customers/partials/customer-password-form.blade.php @@ -1,70 +1,102 @@

@csrf - @php - $columns = [ - 'label' => 'col-sm-4 col-md-2', - 'input' => 'col-sm-7 offset-sm-1 col-md-4 offset-md-0', - ]; - @endphp
{{ __('Modification du mot de passe') }} {{-- OLD PASSWORD --}} - -
+
-
- - @php $dataPassword = ['id' => 'old_password']; @endphp - +
+ +
+
+
+
+
+ + 'old_password'])'> +
+
+
+
+
+ @if ($errors->get('old_password')) + @foreach ($errors->get('old_password') as $message) +

{{ $message }}

+ @endforeach + @endif
- @foreach ($errors->get('old_password') as $message) -
{{ $message }}
- @endforeach
{{-- PASSWORD --}} - -
+
-
- - @php $dataPassword = ['id' => 'password']; @endphp - +
+ +
+
+
+
+
+ + 'password'])'> +
+
+
+
+
+ @if ($errors->get('password')) +
    + {{ __('Le mot de passe doît respecter certaines règles :') }} + @foreach ($errors->get('password') as $message) +
  • {{ $message }}
  • + @endforeach +
+ @endif
- @foreach ($errors->get('password') as $message) -
{{ $message }}
- @endforeach
{{-- PASSWORD CONFIRMATION --}} - -
+
-
- - @php $dataConfirmPassword = ['id' => 'password_confirmation']; @endphp - +
+ +
+
+
+
+
+ + 'password_confirmation'])'> +
+
+
+
+
+ @if ($errors->get('password_confirmation')) +
    {{ __('Le mot de passe doit avoir :') }} + @foreach ($errors->get('password_confirmation') as $message) +
  • {{ $message }}
  • + @endforeach +
+ @endif
- @foreach ($errors->get('password') as $message) -
{{ $message }}
- @endforeach
diff --git a/resources/views/club/pages/departaimants/index.blade.php b/resources/views/club/pages/departaimants/index.blade.php index b3a75399..e5d3deb4 100644 --- a/resources/views/club/pages/departaimants/index.blade.php +++ b/resources/views/club/pages/departaimants/index.blade.php @@ -31,10 +31,12 @@
{{ __('La bourse aux échanges') }} -

{{ __('Le Gaulois vous aide à gérer votre collection et vous met en relation avec d’autres collectionneurs pour échanger vos doubles et/ou trouver les magnets Départ’Aimants qu’il vous manquent.') }} +

+ {{ __('Le Gaulois vous aide à gérer votre collection et vous met en relation avec d’autres collectionneurs pour échanger vos doubles et/ou trouver les magnets Départ’Aimants qu’il vous manquent.') }}

- {{ __('Voir les conditions d\'utilisation du Club des Gaulois') }} + + {{ __('Voir les conditions d\'utilisation du Club des Gaulois') }} +
diff --git a/resources/views/club/pages/favorites/layout.blade.php b/resources/views/club/pages/favorites/layout.blade.php index 5898ee86..9e5bb3ff 100644 --- a/resources/views/club/pages/favorites/layout.blade.php +++ b/resources/views/club/pages/favorites/layout.blade.php @@ -29,7 +29,7 @@ @if ($models->count()) @foreach($models as $model)
- @include($__env->yieldContent('blade'), ['model' => $model]) +
@include($__env->yieldContent('blade'), ['model' => $model])
@endforeach
diff --git a/resources/views/club/pages/home/guest.blade.php b/resources/views/club/pages/home/guest.blade.php index efcf94af..ee6c7987 100644 --- a/resources/views/club/pages/home/guest.blade.php +++ b/resources/views/club/pages/home/guest.blade.php @@ -40,7 +40,7 @@ 'contentClass' => 'text-bg-quint', 'membersAmount' => $customerModelsCount, ]) - @include('club.partials.card-club-home', [ + {{-- @include('club.partials.card-club-home', [ 'outterClass' => 'm-3', 'picture' => Vite::asset('resources/assets/images/club/homepage/card-3.png'), 'line1' => __('Des jeux'), @@ -59,7 +59,7 @@ 'line2Class' => 'fs-4', 'content' => __('Peluche, Chaussette, Set couverts, stylos Le Gaulois...'), 'contentClass' => 'text-bg-danger', - ]) + ]) --}}
diff --git a/resources/views/club/pages/home/homepage.blade.php b/resources/views/club/pages/home/homepage.blade.php index 094176bc..2b774068 100644 --- a/resources/views/club/pages/home/homepage.blade.php +++ b/resources/views/club/pages/home/homepage.blade.php @@ -14,7 +14,7 @@

{{ __('Bonjour :username !', [ - 'username' => Str::title(auth('club')->user()->username), + 'username' => str(auth('club')->user()->username)->title(), ]) }}

@@ -82,23 +82,27 @@ {{ __('Économiser aujourd’hui') }} @money($discountsTotal) - - {{ __('En bons de réduction sur une sélection de produits Le Gaulois') }} - -
-
-
- @foreach ($discountModels as $discountModel) -
- @include('club.partials.club-card-coupon', [ - 'discount' => $discountModel, - 'outerClass' => 'mx-3', - ]) -
- @endforeach + @if ($discountModels->count()) + + {{ __('En bons de réduction sur une sélection de produits Le Gaulois') }} + +
+
+
+ @foreach ($discountModels as $discountModel) +
+ @include('club.partials.club-card-coupon', [ + 'discount' => $discountModel, + 'outerClass' => 'mx-3', + ]) +
+ @endforeach +
-
+ @else +

{{ __('Aucun bon de réduction n\'est actuellement disponible !') }}

+ @endif
diff --git a/resources/views/club/pages/shop/template-pdf-order.blade.php b/resources/views/club/pages/shop/template-pdf-order.blade.php index f010db5e..7f2a2931 100644 --- a/resources/views/club/pages/shop/template-pdf-order.blade.php +++ b/resources/views/club/pages/shop/template-pdf-order.blade.php @@ -241,7 +241,7 @@
-

{{ __('Montant total :') }} +

{{ __('Montant total (TTC) :') }} {{ e(app('phpMoneyFormatter')->format(new Money($total * 100, app('phpMoneyCurrency')))) }} diff --git a/resources/views/club/partials/card-club-home.blade.php b/resources/views/club/partials/card-club-home.blade.php index 2497705b..63697794 100644 --- a/resources/views/club/partials/card-club-home.blade.php +++ b/resources/views/club/partials/card-club-home.blade.php @@ -1,4 +1,4 @@ -

+