$contentMail["details"] = "Fichier incorrect";
}
- $successMessage = "$sizeFiles fichier(s) chargé(s)</br>";
- $successMessage .= "$sizeSheets produit(s) chargé(s)</br>";
+ $successMessage = "$sizeFiles fichier(s) chargé(s)";
+ $successMessage .= "\n";
+ $successMessage .= "$sizeSheets produit(s) chargé(s)";
+ $successMessage .= "\n";
if($changes) {
- $successMessage .= "$sizeChanges produit(s) modifié(s)</br>";
+ $successMessage .= "$sizeChanges produit(s) modifié(s)";
+ $successMessage .= "\n";
}
$contentMail["resume"] = $successMessage;
foreach ($errorsMessage as $message) {
$messages .= "<p>$message</p>";
}
- $messages .= "</br>";
+ $messages .= "\n";
}
$messages .= $successMessage;
namespace App\Http\Controllers;
+use App\Models\Panier;
use Cubist\Backpack\Facades\App;
use App\Models\Page;
use App\Models\Product;
/*
*
*
- * CONNEXION, REGISTER, MY ACCOUNT
+ * CONNEXION, REGISTER, MY ACCOUNT, SELECTION, COMMAND
*
*
*/
$validator->validate();
return $validator->validated();
}
+
public function check_email_exist(Request $request) {
$validation = [
'email' => 'required|email'
}
$data = $this->validation_form($request, $validation);
- $email = Auth::guard('web-clients')->user()->email;
+ $email = Client::getClientConnected()->email;
if($request->password) {
$data['password'] = Hash::make($data['password']);
$data = $this->validation_form($request, $validation);
- $email = Auth::guard('web-clients')->user()->email;
- $address = Auth::guard('web-clients')->user()->address;
+ $email = Client::getClientConnected()->email;
+ $address = Client::getClientConnected()->address;
$addressToArray = json_decode($address);
$client = Client::where('email', $email)->update(['address' => $addressToString]);
}
- public function getaddress() {
- $clientAddress = Auth::guard('web-clients')->user()->address;
- return $clientAddress;
- }
-
public function deleteaddress(Request $request) {
$index = $request->index;
- $address = Auth::guard('web-clients')->user()->address;
+ $address = Client::getClientConnected()->address;
$addressToArray = json_decode($address);
unset($addressToArray[$index]);
$addressToString = json_encode($addressToArray);
- $email = Auth::guard('web-clients')->user()->email;
+ $email = Client::getClientConnected()->email;
$client = Client::where('email', $email)->update(['address' => $addressToString]);
return $addressToString;
}
public function getuser() {
- $user = Auth::guard('web-clients')->user();
+ $user = Client::getClientConnected();
if($user) {
$addressToArray = json_decode($user->address, true);
$checkBillingAddress = array_filter($addressToArray, function ($n) {
}
return false;
}
+
+ public function storepanier(Request $request) {
+ $validation = [
+ 'name' => 'required|string|max:255',
+ 'addresses' => 'required',
+ 'products' => 'required',
+ 'userId' => 'required|numeric'
+ ];
+ $data = $this->validation_form($request, $validation);
+ $panier = new Panier($data);
+ $panier->save();
+
+ return 'ok';
+ }
}
namespace App\Models;
use Cubist\Backpack\app\Magic\Models\CubistMagicAbstractModel;
+use Illuminate\Support\Facades\Auth;
class Client extends CubistMagicAbstractModel
{
'tab' => 'Informations client'
]);
}
+
+ public static function getClientConnected() {
+ return Auth::guard('web-clients')->user();
+ }
}
"vue-slider-component": "^3.0.40",
"vue-template-compiler": "^2.6.10"
},
- "dependencies": {},
+ "dependencies": {}
}
window.eventBus = new Vue();
import PortalVue from 'portal-vue';
-import Ar from "../../public/vendor/adminlte/bower_components/moment/src/locale/ar";
import VueTheMask from 'vue-the-mask'
-Vue.use(VueTheMask)
+Vue.use(VueTheMask);
Vue.use(PortalVue);
/**
validateForm: false,
tab: 'infos',
addresses: [{}],
- errorsForm: {},
user: '',
+ errorsForm: {},
default_billing_address: null,
default_delivery_address: null,
//
totalTTC() {
let total = this.total ? parseFloat(this.total) + parseFloat(this.tva) : 0
return total.toFixed(2)
- }
+ },
},
methods: {
// Assign default values to each address, if the field is empty
// It useful during the first connexion to his account
- for(let i = 0; i < root.addresses.length; i++) {
- root.addresses[i]['name'] = root.addresses[i]['name'] ?? 'Adresse '+root.addresses[i]['city']
+ for (let i = 0; i < root.addresses.length; i++) {
+ root.addresses[i]['name'] = root.addresses[i]['name'] ?? 'Adresse ' + root.addresses[i]['city']
root.addresses[i]['company'] = root.addresses[i]['company'] ?? root.user['company']
root.addresses[i]['firstname'] = root.addresses[i]['firstname'] ?? root.user['firstname']
root.addresses[i]['lastname'] = root.addresses[i]['lastname'] ?? root.user['lastname']
root.default_delivery_address = 'delivery' + response.data['address_delivery']
})
.catch(function (error) {
- }
- )
+ }
+ )
},
addAddressToForm(event) {
let newAddress = {
this.ref = this.$refs.refProduct.dataset.ref+'/'+placeholder
this.price = total + parseFloat(this.$refs.optprice.dataset.default)
this.price = parseFloat(this.price).toFixed(2)
+ },
+ /**
+ *
+ */
+ storePanier() {
+ let root = this,
+ data = {
+ name: "Panier du "+document.querySelector('[name="now"]').dataset.content,
+ userId: this.user.id,
+ addresses: this.addresses,
+ products: this.items
+ }
+
+ axios.post('/ajax/storepanier', data)
+ .then(function (response) {
+ console.log(response)
+ })
+ .catch(function (error) {
+ console.log(error)
+ })
}
},
/**
--- /dev/null
+<template>
+
+</template>
+
+<script>
+export default {
+ name: "Panier",
+
+ mounted() {
+ console.log('ok')
+ },
+
+ methods: {
+ store() {
+
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
.signin,
.account
- .btn:not(#checkemail)
+ .btn:not(.checkemail)
max-width: 258px
width: 100%
padding-left: 28px
-<button data-product-id="{{ $id }}" class="btn cart-add" :class="{ 'pointer-events-none bg-grey-disabled' : !isNaN(price) && !statusConfig }">
+<button data-product-id="{{ $id }}" class="btn cart-add" :class="{ 'pointer-events-none bg-grey-disabled' : (!isNaN(price) && !statusConfig) || (price && !user) }">
<span class="btn-text relative">
<span class="add">
@if(isset($price))
+@php
+ $now = \Carbon\Carbon::now('Europe/Paris')->isoFormat('D/MM/Y');
+@endphp
@prepend('stylesheets')
@if ($variant === 'MICHSCI')
</script>
@endisset
@endprepend
-
@include('cubist::head.htmldeclaration')
@include('cubist::head.head')
+<meta name="now" data-content="{{ $now }}">
<body class="template-{{ $view_name }} {{ $body_class ?? '' }} font-body text-grey-dark">
@include('cubist::body.begin')
</button>
<div class="cart-links">
- <a href="">{{ __('Obtenir un devis officiel') }}</a><br>
- <a href="">{{ __('Enregistrer ce panier') }}</a>
+ <a href="#">{{ __('Obtenir un devis officiel') }}</a><br>
+ <a href="#" @click.prevent="storePanier()">{{ __('Enregistrer ce panier') }}</a>
</div>
<div class="text-sm">
<select class="opt-select" v-on:change="changePrice">
<option selected disabled value="">Sélectionner</option>
@foreach($spec['options'] as $option)
- <option data-price="{{ $option['sale_price'] }}" data-ref="{{ $option['ref'] }}">
- {{ $option['name_fr'] }}
- </option>
+ @if($option['name_fr'] != "")
+ <option data-price="{{ $option['sale_price'] }}" data-ref="{{ $option['ref'] }}">
+ {{ $option['name_fr'] }}
+ {{ floatval($option['sale_price']) > 0 ? '(+'.$option['sale_price'].' € HT)' : '' }}
+ </option>
+ @endif
@endforeach
</select>
</div>
</label>
</div>
<div class="form-footer flex flex-wrap-reverse justify-between items-center">
- <button id="checkemail" class="form-submit-button btn btn-custom w-full" @click.prevent="checkEmailExist">
+ <button class="checkemail form-submit-button btn btn-custom w-full" @click.prevent="checkEmailExist">
{{ __('Connexion') }}
</button>
</div>
<span class="form-required-legend inline-block my-4 mr-3 text-grey-dark xs:self-start xs:mt-5">
*{{ __('Champs obligatoires')}}
</span>
- <button id="checkemail" class="form-submit-button btn btn-custom xs:w-full">
+ <button class="checkemail form-submit-button btn btn-custom xs:w-full">
{{ __('Connexion') }}
</button>
</div>
<span class="form-required-legend inline-block my-4 mr-3 text-grey-dark xs:self-start xs:mt-5">
*{{ __('Champs obligatoires')}}
</span>
- <button id="checkemail" class="form-submit-button btn btn-custom xs:w-full">
+ <button class="form-submit-button btn btn-custom xs:w-full">
{{ __('Créer mon compte') }}
</button>
</div>
+++ /dev/null
-<?php
-Route::post('product/import', 'ProductBaseController@storeOptions');