ldc-le-gaulois-pro/routes/web-bo.php
2026-03-25 10:45:26 +01:00

131 lines
6.1 KiB
PHP

<?php
use App\Http\Controllers\Bo\AdviceController;
use App\Http\Controllers\Bo\BrigadeSectionController;
use App\Http\Controllers\Bo\ExpertiseProductController;
use App\Http\Controllers\Bo\HomeController;
use App\Http\Controllers\Bo\NewsCategoryController;
use App\Http\Controllers\Bo\NewsController;
use App\Http\Controllers\Bo\ProductController;
use App\Http\Controllers\Bo\SlideController;
use App\Http\Controllers\Bo\RangeController;
use App\Http\Controllers\Bo\StaticPageController;
use App\Http\Controllers\Bo\TagController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
Route::prefix('bo')
->name('bo.')
->middleware(['admin-secure', 'throttle:credentials'])
->group(function () {
Route::namespace('\App\Http\Controllers\Bo')
->group(function () {
Auth::routes([
'login' => true,
'logout' => true,
'reset' => false,
'register' => false,
'confirm' => false,
'verify' => false
]);
});
Route::middleware('auth:backend')->group(function () {
Route::get('/', [HomeController::class, 'dashboard'])->name('dashboard');
// * SLIDES
Route::resource('slides', SlideController::class)->except(['show'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:content');
Route::get('/slides/change-order/{slide}/{direction}', [
SlideController::class,
'changeOrder'
])->where('direction', 'up|down')->name('slides.change-order');
Route::post('/slides/{slide}/change-published', [SlideController::class, 'changePublished'])
->name('slides.change-published');
// * RANGES
Route::resource('ranges', RangeController::class)->except(['show']);
Route::get('/ranges/change-order/{range}/{direction}', [
RangeController::class,
'changeOrder'
])->where('direction', 'up|down')->name('ranges.change-order');
// * PRODUCTS
Route::resource('products', ProductController::class)->except(['show'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:ingredients,advantage,preparation');
Route::get('/products/change-order/{product}/{direction}', [
ProductController::class,
'changeOrder'
])->where('direction', 'up|down')->name('products.change-order');
Route::post('/products/{product}/change-published', [ProductController::class, 'changePublished'])
->name('products.change-published');
Route::patch('/products/{product}/change-priority', [ProductController::class, 'changeOrderPriority'])
->name('products.change-priority');
Route::patch('/products/{product}/change-order/{direction}', [
BrigadeSectionController::class,
'changeOrder'
])->where('direction', 'up|down')->name('products.change-order');
// * NEWS
Route::resource('news', NewsController::class)->except(['show'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:content,content2');
Route::post('/news/{news}/change-published', [NewsController::class, 'changePublished'])
->name('news.change-published');
// * NEWSCATEGORIES
Route::resource('newscategories', NewsCategoryController::class)
->except(['create', 'store', 'show', 'destroy']);
// * ADVICE (RECIPES + TIPS)
Route::resource('advice', AdviceController::class)
->except(['show', 'index', 'create'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:preparation,advice,ingredients');
Route::get('advice/{type}', [AdviceController::class, 'index'])->name('advice.index');
Route::get('advice/{type}/create', [AdviceController::class, 'create'])->name('advice.create');
Route::post('/advice/{advice}/change-published', [AdviceController::class, 'changePublished'])
->name('advice.change-published');
Route::patch('/advice/{advice}/change-priority', [AdviceController::class, 'changeOrderPriority'])
->name('advice.change-priority');
// * EXPERTISE PRODUITS VIP
Route::resource('vips', ExpertiseProductController::class)->except(['show']);
// * TAGS
Route::resource('tags', TagController::class)->except(['show']);
Route::post('/tags/store', [TagController::class, 'jsonStore'])->name('tags.jsonStore');
// * BRIGADE SECTIONS
Route::resource('brigade_sections', BrigadeSectionController::class)->except(['show'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:content');
Route::post(
'/brigade_sections/{brigade_section}/change-published',
[BrigadeSectionController::class, 'changePublished']
)
->name('brigade_sections.change-published');
Route::patch('/brigade_sections/{brigade_section}/change-order/{direction}', [
BrigadeSectionController::class,
'changeOrder'
])->where('direction', 'up|down')->name('brigade_sections.change-order');
// * STATIC PAGES
Route::resource('pages', StaticPageController::class)
->names([
'index' => 'static_pages.index',
'edit' => 'static_pages.edit',
'update' => 'static_pages.update',
])->parameters(['pages' => 'static_page'])
->only(['index', 'edit', 'update'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:content');
});
Route::get('/login-error', function () {
return view('bo.pages.login-error');
})->name('login-error');
});