162 lines
7.4 KiB
PHP
162 lines
7.4 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Bo\ContactMessagesController;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\Bo\TimeslotController;
|
|
use App\Http\Controllers\Bo\DashboardController;
|
|
use App\Http\Controllers\Bo\DeliveryModeController;
|
|
use App\Http\Controllers\Bo\GeneralConfigController;
|
|
use App\Http\Controllers\Bo\ShopController;
|
|
use App\Http\Controllers\Bo\OrderController;
|
|
use App\Http\Controllers\Bo\ProductController;
|
|
use App\Http\Controllers\Bo\DiscountController;
|
|
use App\Http\Controllers\Bo\PaymentModeController;
|
|
use App\Http\Controllers\Bo\SlideController;
|
|
use App\Http\Controllers\Bo\StaticPageController;
|
|
use App\Http\Controllers\Bo\TagController;
|
|
use App\Http\Controllers\Bo\RangeController;
|
|
use App\Http\Controllers\Bo\XmlIncoController;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
Route::prefix('bo')->name('bo.')->group(function () {
|
|
Route::namespace('\App\Http\Controllers\Bo')->group(function () {
|
|
Auth::routes([
|
|
'login' => true,
|
|
'logout' => true,
|
|
'register' => false,
|
|
// For resetting passwords.
|
|
'reset' => false,
|
|
// For additional password confirmations.
|
|
'confirm' => false,
|
|
// For email verification.
|
|
'verify' => false,
|
|
]);
|
|
});
|
|
|
|
Route::middleware('auth:backend')->group(function () {
|
|
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
|
|
|
|
// * RESOURCES
|
|
// * StaticPages
|
|
Route::resource('static_pages', StaticPageController::class)
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware(['htmlsanitize:value']);
|
|
|
|
// * ContactMessages
|
|
Route::resource('contacts', ContactMessagesController::class)
|
|
->only(['index', 'show', 'destroy']);
|
|
Route::post('/contacts/{contact}/done', [ContactMessagesController::class, 'done'])
|
|
->name('contacts.done');
|
|
|
|
// * Slides
|
|
Route::resource('slides', SlideController::class)->except(['show'])
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware(['htmlsanitize:text']);
|
|
Route::post('/slides/{slide}/change-order/{action}', [SlideController::class, 'changeOrder'])
|
|
->where('action', 'up|down')
|
|
->name('slides.change-order');
|
|
|
|
// * Ranges
|
|
Route::resource('ranges', RangeController::class)->except(['show'])
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware(['htmlsanitize:description']);
|
|
Route::post('/ranges/{range}/change-published', [RangeController::class, 'changePublished'])
|
|
->name('ranges.change-published');
|
|
|
|
// * Config
|
|
Route::resource('general_configs', GeneralConfigController::class)
|
|
->except(['show', 'create', 'store', 'destroy'])
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:text');
|
|
|
|
// * Payment Modes
|
|
Route::resource('payment_modes', PaymentModeController::class)
|
|
->only(['index', 'edit', 'update']);
|
|
Route::post('/payment-modes/{payment_mode}/change-status', [
|
|
PaymentModeController::class, 'changeStatus'
|
|
])->name('payment_modes.change-status');
|
|
|
|
// * Delivery Modes
|
|
Route::resource('delivery_modes', DeliveryModeController::class)
|
|
->only(['index', 'edit', 'update']);
|
|
Route::post('/delivery-modes/{delivery_mode}/change-status', [
|
|
DeliveryModeController::class, 'changeStatus'
|
|
])->name('delivery_modes.change-status');
|
|
|
|
// * Products
|
|
Route::get('/products/starred', [ProductController::class, 'starred'])->name('starredProducts');
|
|
Route::resource('products', ProductController::class)->except(['show'])
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware(['htmlsanitize:description,data']);
|
|
Route::post(
|
|
'/products/{product}/setinco/{xml_inco}/picture/{picture_index}',
|
|
[ProductController::class, 'copyXmlIncoPicture']
|
|
)->where('picture_index', '[0-9]')->name('products.copyXmlIncoPicture');
|
|
Route::post('/products/{product}/setinco/{xml_inco}', [ProductController::class, 'associateXmlInco'])
|
|
->name('products.associateXmlInco');
|
|
Route::post('/products/{product}/change-published', [ProductController::class, 'changePublished'])
|
|
->name('products.change-published');
|
|
|
|
// * XML INCO
|
|
Route::get('/xml_incos/search', [XmlIncoController::class, 'getXmlIncos'])->name('xml_incos.getXmlIncos');
|
|
Route::get('/xml_incos/picture/{inco_picture}', [XmlIncoController::class, 'getXmlIncoPicture'])
|
|
->where('inco_picture', '.+[a-zA-Z0-9_-]+\.(png|jpg|jpeg)')
|
|
->name('xml_incos.getXmlIncoPicture');
|
|
|
|
// * Tags
|
|
Route::resource('tags', TagController::class)->except(['show']);
|
|
Route::post('/tags/store', [TagController::class, 'jsonStore'])->name('tags.jsonStore');
|
|
Route::post('/tags/{tag}/change-order', [TagController::class, 'changeOrder'])
|
|
->name('tags.change-order');
|
|
Route::post('/tags/{tag}/change-published', [TagController::class, 'changePublished'])
|
|
->name('tags.change-published');
|
|
|
|
// * Discounts
|
|
Route::resource('discounts', DiscountController::class)->except(['show']);
|
|
Route::post('/discounts/{discount}/change-published', [DiscountController::class, 'changePublished'])
|
|
->name('discounts.change-published');
|
|
|
|
// * Timeslots
|
|
Route::get('/magasins/{shop}/timeslots', [TimeslotController::class, 'settings'])->name('timeslots.settings');
|
|
Route::put(
|
|
'/magasins/{shop}/timeslots',
|
|
[TimeslotController::class, 'updateSettings']
|
|
)->name('timeslots.settings.update');
|
|
|
|
// * CollectionExceptions
|
|
Route::post(
|
|
'/ajax/shops/{shop}/collection_exceptions/save',
|
|
[\App\Http\Controllers\Bo\ShopController::class, 'saveExceptions']
|
|
)->name('shops.collection_exceptions.save');
|
|
Route::post(
|
|
'/ajax/shops/{shop}/collection_exceptions/delete',
|
|
[\App\Http\Controllers\Bo\ShopController::class, 'destroyExceptions']
|
|
)->name('shops.collection_exceptions.delete');
|
|
|
|
// * Shops
|
|
Route::resource('shops', ShopController::class)->except(['show']);
|
|
|
|
// * Orders
|
|
Route::get('/orders/today', [OrderController::class, 'indexToday'])->name('orders.today');
|
|
Route::resource('orders', OrderController::class)->only([
|
|
'index', 'show'
|
|
]);
|
|
Route::put('/orders/{order}/set-validate', [
|
|
OrderController::class, 'changeValidationStatus'
|
|
])->name('orders.validation-status');
|
|
Route::put('/orders/{order}/set-delivery', [
|
|
OrderController::class, 'changeDeliveryStatus'
|
|
])->name('orders.delivery-status');
|
|
Route::get('/orders/{order}/prepare', [OrderController::class, 'prepare'])->name('orders.prepare');
|
|
Route::post('/orders/{order}/prepare', [OrderController::class, 'prepareSubmit'])
|
|
->name('orders.prepare-submit');
|
|
Route::post('/orders/{order}/refund', [OrderController::class, 'refundSubmit'])
|
|
->name('orders.refund-submit');
|
|
Route::post('/orders/{order}/refund-submit', [OrderController::class, 'cancelRefundSubmit'])
|
|
->name('orders.cancel-refund-submit');
|
|
Route::get(
|
|
'/commandes/{reference}/transaction/{transactionReference}/invoice',
|
|
[OrderController::class, 'downloadTransactionInvoice']
|
|
)->name('orders.invoice');
|
|
});
|
|
});
|