diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 9f1046d..ece6ef1 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -7,7 +7,6 @@ use App\Models\Product; use App\Models\Slider; use App\Models\Range; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Validator; use LDC\LDCCRM\Enums\ApiError; use LDC\LDCCRM\Exceptions\ApiErrorException; @@ -16,10 +15,16 @@ use LDC\LDCCRM\Models\SingleOptin; class HomeController extends Controller { + /** + * Show Homepage + * + * @param Request $request + * @return Illuminate\View\View + */ public function index(Request $request) { $content = Content::where('key', 'accueil')->first(); - //star products + // Star products. $products = Product::where('status', 1)->where('star', 1)->get(); $slider = Slider::where('slug', 'home')->first(); @@ -40,6 +45,14 @@ class HomeController extends Controller * @param String $email Email to add as a single optin * @return String Message to print to the customer */ + + + /** + * Call the CRM to add a single optin + * + * @param Request $request The request. + * @return \Illuminate\Contracts\Translation\Translator|string|array|null Message to translate + */ public function addOptIn(Request $request) { $validator = Validator::make($request->all(), ['email' => 'required|email']); @@ -51,7 +64,7 @@ class HomeController extends Controller SingleOptin::setStatus($request->email, true); return trans('Votre inscription à la newsletter a été prise en compte'); } catch (ApiErrorException $e) { - // * Il y a deja un customerInfo avec optin a true pour ce customer + // Il y a deja un customerInfo avec optin a true pour ce customer. if ($e->getApiError()->equals(ApiError::singleOptinCustomerExists())) { return trans('Vous êtes déjà inscrit avec cette adresse email'); } diff --git a/routes/web-shop.php b/routes/web-shop.php index 6dfcd38..62f910d 100644 --- a/routes/web-shop.php +++ b/routes/web-shop.php @@ -1,48 +1,53 @@ name('home'); - Route::get('/cgv', [IndexController::class, 'terms'])->name('terms'); - Route::get('/faq', [IndexController::class, 'faq'])->name('faq'); - //Route::get('/mon-panier', [BasketController::class, 'index'])->name('basket'); - if (config('theme.quick_order_page')) { - Route::get('/commande-express', [QuickOrderController::class, 'index'])->name('quickorder'); - } +Route::get('/cgv', [IndexController::class, 'terms'])->name('terms'); +Route::get('/faq', [IndexController::class, 'faq'])->name('faq'); - //Catalogue - Route::get('/gammes-de-produits', [ProductsController::class, 'ranges'])->name('ranges'); - Route::get('/gamme-de-produits/{rangeSlug}', [ProductsController::class, 'range'])->name('range')->middleware('redirect-slugs'); - Route::get('/produits', [ProductsController::class, 'allProducts'])->name('products'); - Route::get('/produits/{tagSlug}', [ProductsController::class, 'tagFiltered'])->name('products.tagfilter'); - Route::get('/recherche', [ProductsController::class, 'allProducts'])->name('search'); - Route::get('/produit/{productSlug}', [ProductsController::class, 'product'])->name('product')->middleware('redirect-slugs'); +if (config('theme.quick_order_page')) { + Route::get('/commande-express', [QuickOrderController::class, 'index'])->name('quickorder'); +} - // Route ajax pour Single Optin - Route::post('/optin', [HomeController::class, 'addOptIn'])->name('add-single-optin'); +// Catalogue. +Route::get('/gammes-de-produits', [ProductsController::class, 'ranges'])->name('ranges'); +Route::get( + '/gamme-de-produits/{rangeSlug}', + [ProductsController::class, 'range'] +)->name('range')->middleware('redirect-slugs'); +Route::get('/produits', [ProductsController::class, 'allProducts'])->name('products'); +Route::get('/produits/{tagSlug}', [ProductsController::class, 'tagFiltered'])->name('products.tagfilter'); +Route::get('/recherche', [ProductsController::class, 'allProducts'])->name('search'); +Route::get( + '/produit/{productSlug}', + [ProductsController::class, 'product'] +)->name('product')->middleware('redirect-slugs'); - //Contact - Route::get('/contactez-nous', [ContactController::class, 'contact'])->name('contact'); - Route::post('/contactez-nous', [ContactController::class, 'contactSubmit'])->name('contact-us.submit'); +// Route ajax pour Single Optin. +Route::post('/optin', [HomeController::class, 'addOptIn'])->name('add-single-optin'); - Route::prefix('ajax') - ->name('ajx.') - ->group(function () { - Route::post('/add-to-cart', [BasketController::class, 'addToCart'])->name('cart.add'); - Route::post('/multi-add-to-cart', [BasketController::class, 'addToCartLot'])->name('cart.addlot'); - Route::post('/get-cart', [BasketController::class, 'getCartRequest'])->name('cart.get'); - Route::post('/remove-from-cart', [BasketController::class, 'removeFromCart'])->name('cart.remove'); - Route::post('/empty-cart', [BasketController::class, 'emptyCart'])->name('cart.empty'); - Route::post('/get-time-slots', [OrdersController::class, 'getAvailableCreneaux'])->name('get-creneaux'); - }); +// Contact. +Route::get('/contactez-nous', [ContactController::class, 'contact'])->name('contact'); +Route::post('/contactez-nous', [ContactController::class, 'contactSubmit'])->name('contact-us.submit'); + +Route::prefix('ajax') +->name('ajx.') +->group(function () { + Route::post('/add-to-cart', [BasketController::class, 'addToCart'])->name('cart.add'); + Route::post('/multi-add-to-cart', [BasketController::class, 'addToCartLot'])->name('cart.addlot'); + Route::post('/get-cart', [BasketController::class, 'getCartRequest'])->name('cart.get'); + Route::post('/remove-from-cart', [BasketController::class, 'removeFromCart'])->name('cart.remove'); + Route::post('/empty-cart', [BasketController::class, 'emptyCart'])->name('cart.empty'); + Route::post('/get-time-slots', [OrdersController::class, 'getAvailableCreneaux'])->name('get-creneaux'); +}); diff --git a/routes/web.php b/routes/web.php index 536bdc1..d571449 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,30 +1,28 @@ group(function () { require_once __DIR__ . '/web-shop.php'; @@ -33,7 +31,7 @@ if ((bool) config('bosettings.private_shop')) { require_once __DIR__ . '/web-shop.php'; } -//must always be public routes +// Must always be public routes. Route::get('/mentions-legales', [IndexController::class, 'legalNotice'])->name('legal-notice'); Route::get('/politique-de-confidentialite', [IndexController::class, 'privacy'])->name('privacy'); @@ -47,24 +45,24 @@ Route::namespace('App\Http\Controllers\Bo') Route::match(['get', 'put'], '/content/{key}', [ContentController::class, 'manage'])->name('content'); Route::match(['get', 'put'], '/settings', [SettingsController::class, 'manage'])->name('settings'); Route::match(['get', 'put'], '/themesettings', [SettingsController::class, 'manageTheme'])->name('themesettings'); - // FAQ + // FAQ. Route::get('/faq', [FaqController::class, 'index'])->name('faq'); Route::post('/ajax/save-faq', [FaqController::class, 'saveDatas']); Route::post('/ajax/delete-faq', [FaqController::class, 'destroy']); - //Creneaux + // Creneaux. Route::get('/magasins/{id}/creneaux', [CreneauxController::class, 'settings'])->name('creneaux.settings'); Route::post('/magasins/{id}/creneaux', [CreneauxController::class, 'updateSettings'])->name('creneaux.settings.update'); - //exceptions de collecte + // Exceptions de collecte. Route::post('/ajax/save-creneaux-exception', [\App\Http\Controllers\Bo\MagasinsController::class, 'saveExceptions']); Route::post('/ajax/delete-creneaux-exception', [\App\Http\Controllers\Bo\MagasinsController::class, 'destroyExceptions']); - //recherche d'inco + // Recherche d'INCO. Route::post('/ajax/check-inco-data', [\App\Http\Controllers\Bo\ProductsController::class, 'checkIncoData']); Route::post('/ajax/get-inco-images', [\App\Http\Controllers\Bo\ProductsController::class, 'getPrepareIncoImages']); Route::post('/ajax/set-inco-images', [\App\Http\Controllers\Bo\ProductsController::class, 'setIncoImage']); // Produits - //route ajoutée avant la déclaration de route resource sinon la forme /products/{product} l'emporte lors du routage + // Route ajoutée avant la déclaration de route resource sinon la forme /products/{product} l'emporte lors du routage. Route::get('/products/starred', [\App\Http\Controllers\Bo\ProductsController::class, 'starred']) ->name('products.starred'); Route::get('/products/create/{product_type?}', [\App\Http\Controllers\Bo\ProductsController::class, 'create']) @@ -88,7 +86,7 @@ Route::namespace('App\Http\Controllers\Bo') Route::get('/customer-info/{id}/{mode?}', [OrdersController::class, 'getCustomerInfo'])->name('get-customer-info'); Route::get('/magasin-info/{id}/{mode?}', [App\Http\Controllers\Bo\MagasinsController::class, 'getMagasinInfo'])->name('get-magasin-info'); - // Commandes + // Commandes. Route::get('/orders', [OrdersController::class, 'index'])->name('orders'); Route::get('/orders/today', [OrdersController::class, 'today'])->name('orders.today'); Route::get('/orders/{reference}', [OrdersController::class, 'orderDetail'])->name('order-detail'); @@ -97,28 +95,28 @@ Route::namespace('App\Http\Controllers\Bo') Route::post('/orders/add', [OrdersController::class, 'addProduct'])->name('order-add-product'); }); -//actions sur les comptes utilisateurs +// Actions sur les comptes utilisateurs. Route::name('auth.') ->group(function () { - //bo connect + // BO connect. Route::get('/bo/login', [LoginController::class, 'index'])->name('login')->middleware('guest'); Route::post('/bo/login', [LoginController::class, 'login'])->name('login.post')->middleware('guest'); Route::get('/bo/logout', [LoginController::class, 'logout'])->name('logout')->middleware('auth:web'); - //customer connect + // Customer connect. Route::get('/connexion', [CustomerController::class, 'authenticateForm'])->name('connexion')->middleware('guest'); Route::post('/connexion', [CustomerController::class, 'authenticate'])->name('connexion.post')->middleware('guest'); Route::get('/deconnexion', [CustomerController::class, 'logout'])->name('deconnexion')->middleware('auth:customer'); - //customer inscription + // Customer inscription. Route::get('/inscription', [CustomerController::class, 'registerForm'])->name('register')->middleware('guest'); Route::post('/inscription', [CustomerController::class, 'register'])->name('register.post')->middleware('guest'); Route::get('/activer/{hashcode}', [CustomerController::class, 'activate'])->name('activer'); - //formulaire de demande de réinit + // Formulaire de demande de réinit. Route::get('/mot-de-passe-oublie', [CustomerController::class, 'forgotPasswordForm'])->name('forgot-password'); - //réinit et envoi mail + // Réinit et envoi mail. Route::post('/reinitialiser-mdp', [CustomerController::class, 'passwordReset'])->name('reinit-mdp'); - //formulaire reinit + // Formulaire reinit. Route::get('/reinitialiser-mdp/{token}', [CustomerController::class, 'viewChangePassword'])->name('form-change-mdp'); - //changement en crm + // Changement en CRM. Route::post('/reinitialiser-mdp/{token}', [CustomerController::class, 'changePassword'])->name('change-password'); }); @@ -133,21 +131,21 @@ Route::name('account.') Route::get('/commandes/{reference}', [CustomerController::class, 'orderDetail'])->name('order-detail'); }); -//tunnel de commande +// Tunnel de commande. Route::prefix('commande') ->name('sales.') ->middleware('auth:customer') ->group(function () { - //puisqu'on a le middleware on s'épargne une étape - //recap + // Puisqu'on a le middleware on s'épargne une étape. + // Recap. Route::get('/recap', [OrdersController::class, 'recapOrder' ])->name('recap'); Route::post('/recap', [OrdersController::class, 'store' ])->name('order-init'); - //choice timeslot + // Choice timeslot. Route::get('/collect/{reference}', [OrdersController::class, 'timeSlotPick' ])->name('pick-slot'); Route::post('/collect', [OrdersController::class, 'setTimeSlot' ])->name('order-save-slot'); - //confirm + // Confirm. Route::get('/confirm/{reference}', [OrdersController::class, 'confirmOrder' ])->name('confirm'); - //test generation de commande + // Test generation de commande. Route::get('/generate/{reference}', [OrdersController::class, 'generateOrder' ])->name('generate'); });