Merge branch 'develop' into trunk

This commit is contained in:
Noah Lancien 2026-02-26 10:26:54 +01:00
commit 69671cab90
7 changed files with 38 additions and 124 deletions

View file

@ -8,7 +8,7 @@ enum OrderType: int
{
use BaseEnum;
case cb = 1;
// case cb = 1;
case check = 2;
/**
@ -17,7 +17,7 @@ enum OrderType: int
* @phpstan-ignore-next-line
*/
private const LABELS = [
self::cb->name => 'Carte Bancaire',
// self::cb->name => 'Carte Bancaire',
self::check->name => 'Chèque',
];
}

View file

@ -67,7 +67,6 @@ class ShopController extends Controller
try {
$order = new Order();
$order->ref = str_replace('-', '', $request->ref);
$order->civility = ContactFormCivility::make(intval($request->coords['civility']));
$order->payementType = OrderType::make(intval($request->payementMethod));
$order->status = OrderStatus::waiting;
$order->customer_id = $customerModel->getKey();

View file

@ -29,7 +29,6 @@ class ShopBuyRequest extends FormRequest
return [
'ref' => 'required|string|uuid|unique:orders,ref',
'coords' => 'required|array',
'coords.civility' => ['required', new Enum(ContactFormCivility::class)],
'coords.firstname' => 'required|string|between:3,255',
'coords.lastname' => 'required|string|between:3,255',
'coords.address' => 'required|string|between:3,255',
@ -38,7 +37,6 @@ class ShopBuyRequest extends FormRequest
'coords.phone' => 'nullable|phone:FR|max:255',
'coords.email' => 'required|email:rfc,strict,dns,spoof,filter',
'shipping' => 'sometimes|array',
'shipping.civility' => ['required_with:shipping', new Enum(ContactFormCivility::class)],
'shipping.firstname' => 'required_with:shipping|string|between:3,255',
'shipping.lastname' => 'required_with:shipping|string|between:3,255',
'shipping.address' => 'required_with:shipping|string|between:3,255',
@ -62,7 +60,6 @@ class ShopBuyRequest extends FormRequest
{
return [
'coords' => trans('vos coordonnées'),
'coords.civility' => trans('civilité dans vos coordonnées'),
'coords.firstname' => trans('prénom dans vos coordonnées'),
'coords.lastname' => trans('nom dans vos coordonnées'),
'coords.address' => trans('adresse dans vos coordonnées'),
@ -71,7 +68,6 @@ class ShopBuyRequest extends FormRequest
'coords.city' => trans('ville dans vos coordonnées'),
'coords.email' => trans('e-mail dans vos coordonnées'),
'shipping' => trans('votre adresse de livraison'),
'shipping.civility' => trans('civilité dans votre adresse de livraison'),
'shipping.firstname' => trans('prénom dans votre adresse de livraison'),
'shipping.lastname' => trans('nom dans votre adresse de livraison'),
'shipping.address' => trans('adresse dans votre adresse de livraison'),

View file

@ -67,7 +67,6 @@ class Order extends Model
{
return [
'ref' => $this->ref,
'civility' => $this->civility->value(),
'lastname' => $this->lastname,
'firstname' => $this->firstname,
'address' => $this->address,

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

View file

@ -12,63 +12,35 @@
</h3>
<!-- CRM ADDRESS -->
<div class="row">
<div class="col-sm-12 col-md-6">
<fieldset class="row py-2">
<div class="col-12 col-sm-3 d-flex justify-content-start align-items-center">
<label
for="userCivility"
class="pb-2"
>{{ trans.methods.__("Civilité") }}&nbsp;*</label>
</div>
<div class="col-12 col-sm-9">
<select
id="userCivility"
class="form-select"
:aria-label="trans.methods.__('Choisir la civilité dans la liste déroulante')"
@change="setCivility($event)"
>
<option
:value="null"
disabled
selected
>
{{ trans.methods.__("Choisissez une civilité parmi la liste déroulante") }}
</option>
<option
v-for="civility in currentShop.civility"
:key="civility.value"
:value="civility.value"
>
{{ civility.label }}
</option>
</select>
</div>
</fieldset>
</div>
<div
<template
v-for="(input, inputIndex) in formInputs"
:key="inputIndex"
class="col-12 col-md-6"
>
<fieldset class="row py-2">
<div class="col-12 col-sm-3 d-flex justify-content-start align-items-center">
<label
:for="`user${input.name}`"
class="pb-2"
>{{ trans.methods.__(input.label) }}&nbsp;*</label>
</div>
<div class="col-12 col-sm-9">
<input
:id="`user${input.name}`"
type="text"
class="form-control"
:placeholder="trans.methods.__(input.label) + '*'"
v-model="input.coords"
required
>
</div>
</fieldset>
</div>
<div class="col-12 col-md-6">
<fieldset class="row py-2">
<div class="col-12 col-sm-3 d-flex align-items-center">
<label
:for="`user${input.name}`"
class="pb-2"
>{{ trans.methods.__(input.label) }}&nbsp;*</label>
</div>
<div class="col-12 col-sm-9">
<input
:id="`user${input.name}`"
type="text"
class="form-control"
:placeholder="trans.methods.__(input.label) + '*'"
v-model="input.coords"
required
>
</div>
</fieldset>
</div>
<div
v-if="input.name === 'address'"
class="d-none d-md-block col-md-6"
></div>
</template>
<div class="col-12">
<div class="form-check my-4">
<input
@ -96,39 +68,6 @@
{{ trans.methods.__('Adresse de livraison') }}
</h3>
</div>
<div class="col-sm-12 col-md-6">
<fieldset class="row py-2">
<div class="col-12 col-sm-3 d-flex justify-content-start align-items-center">
<label
for="userCivility"
class="pb-2"
>{{ trans.methods.__("Civilité") }}&nbsp;*</label>
</div>
<div class="col-12 col-sm-9">
<select
id="userCivility"
class="form-select"
:aria-label="trans.methods.__('Choisir la civilité dans la liste déroulante')"
@change="setShippingCivility($event)"
>
<option
:value="null"
disabled
selected
>
{{ trans.methods.__("Choisissez une civilité parmi la liste déroulante") }}
</option>
<option
v-for="civility in currentShop.civility"
:key="civility.value"
:value="civility.value"
>
{{ civility.label }}
</option>
</select>
</div>
</fieldset>
</div>
<template
v-for="(input, inputIndex) in formInputs"
:key="inputIndex"
@ -276,6 +215,10 @@
>{{ payementMethod.label }}</label>
</li>
</ul>
<!-- A supprimer à la mise en place de la CB -->
<p class="fst-italic m-0">
{{ trans.methods.__('(CB prochainement)') }}
</p>
</div>
</div>
<!-- FORM RGPD -->
@ -404,7 +347,6 @@ const form = ref<{
total: number,
payementMethod: number|null,
coords: {
civility: number|null,
firstname: string,
lastname: string,
address: string,
@ -414,7 +356,6 @@ const form = ref<{
email: string,
},
shipping?: {
civility: number|null,
firstname: string,
lastname: string,
address: string,
@ -428,7 +369,6 @@ const form = ref<{
total: 0,
payementMethod: null,
coords: {
civility: null,
firstname: "",
lastname: "",
address: "",
@ -438,7 +378,6 @@ const form = ref<{
email: ""
},
shipping: {
civility: null,
firstname: "",
lastname: "",
address: "",
@ -463,10 +402,10 @@ onMounted(() => {
form.value.coords.phone = currentShop.value.user.phone ? Number(currentShop.value.user.phone) : null;
form.value.coords.email = String(currentShop.value.user.email);
formInputs.value = [
{"name": "firstname", "label": "Prénom", "coords": form.value.coords.firstname, "shipping": form.value.shipping!.firstname},
{"name": "lastname", "label": "Nom", "coords": form.value.coords.lastname, "shipping": form.value.shipping!.lastname},
{"name": "email", "label": "E-mail", "coords": form.value.coords.email, "shipping": null},
{"name": "firstname", "label": "Prénom", "coords": form.value.coords.firstname, "shipping": form.value.shipping!.firstname},
{"name": "phone", "label": "Téléphone", "coords": form.value.coords.phone, "shipping": form.value.shipping!.phone},
{"name": "email", "label": "E-mail", "coords": form.value.coords.email, "shipping": null},
{"name": "address", "label": "Adresse", "coords": form.value.coords.address, "shipping": form.value.shipping!.address},
{"name": "postal_code", "label": "Code postal", "coords": form.value.coords.postcode, "shipping": form.value.shipping!.postcode},
{"name": "city", "label": "Ville", "coords": form.value.coords.city, "shipping": form.value.shipping!.city},
@ -489,29 +428,6 @@ function selectPayement(payment: number): void {
form.value.payementMethod = payment;
}
/**
* Add specific item to the customer cart.
* e.target.value = "{label: string, value: number}"
*
* @param e Event
* @return void
*/
function setCivility(e: Event): void {
const input = e.target as HTMLOptionElement;
form.value.coords.civility = parseInt(input.value);
}
/**
* Add specific item to the customer cart.
* e.target.value = "{label: string, value: number}"
*
* @param e Event
* @return void
*/
function setShippingCivility(e: Event): void {
const input = e.target as HTMLOptionElement;
form.value.shipping!.civility = parseInt(input.value);
}
/**
* Return destroy route for a game.

View file

@ -6,6 +6,10 @@
title="{{ __('Go to page :page :appname', ['page' => 'Instagram', 'appname' => config('app.name')]) }}" target="_blank">
<img class="img-fluid" src="{{ Vite::asset('resources/assets/images/footer/socials/instagram.png') }}" alt="Instagram" role="img">
</a>
<a class="mx-sm-1 btn btn-link btn-social text-decoration-none mx-2" href="https://www.tiktok.com/@legaulois_off"
title="{{ __('Go to page :page :appname', ['page' => 'Tiktok', 'appname' => config('app.name')]) }}" target="_blank">
<img class="img-fluid" src="{{ Vite::asset('resources/assets/images/footer/socials/tiktok.png') }}" alt="Tiktok" role="img">
</a>
<a class="mx-sm-1 btn btn-link btn-social text-decoration-none mx-2" href="https://www.linkedin.com/company/legaulois"
title="{{ __('Go to page :page :appname', ['page' => 'LinkedIn', 'appname' => config('app.name')]) }}" target="_blank">
<img class="img-fluid" src="{{ Vite::asset('resources/assets/images/footer/socials/linkedin.png') }}" alt="LinkedIn" role="img">