name('bo.') ->group(function () { // * Authenticable routes Route::namespace('\App\Http\Controllers\Bo') ->group(function () { Auth::routes( [ 'confirm' => false, 'login' => true, 'logout' => true, 'register' => false, 'reset' => false, 'verify' => false, ] ); Route::get('/login-error', function () { return view('bo.pages.login-error'); })->name('login-error'); }); Route::middleware('admin-secure', 'auth:backend')->group(function () { Route::get('/', [DashboardController::class, 'index'])->name('dashboard'); // * USERS. Route::resource('users', UsersController::class)->except('show'); Route::patch('/users/{user}/change-published', [ UsersController::class, 'changePublished' ])->name('users.change-published'); Route::get('/users/{user}/duplicate', [ UsersController::class, 'duplicate' ])->name('users.duplicate'); // * COMMITMENTS Route::resource('commitments', CommitmentController::class)->except(['show']); Route::get('/commitments/{commitment}/duplicate', [ CommitmentController::class, 'duplicate' ])->name('commitments.duplicate'); Route::patch('/commitments/{commitment}/change-order/{direction}', [ CommitmentController::class, 'changeOrder' ])->where('direction', 'up|down')->name('commitments.change-order'); Route::patch('/commitments/{commitment}/change-published', [ CommitmentController::class, 'changePublished' ])->name('commitments.change-published'); // * 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'); // * RANGES. Route::resource('ranges', RangeController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:description'); Route::patch('/ranges/{range}/change-published', [ RangeController::class, 'changePublished' ])->name('ranges.change-published'); Route::patch('/ranges/{range}/change-order/{direction}', [ RangeController::class, 'changeOrder' ])->where('direction', 'up|down')->name('ranges.change-order'); Route::get('/ranges/{range}/duplicate', [ RangeController::class, 'duplicate' ])->name('ranges.duplicate'); // * NEWS. Route::resource('news', NewsController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:content'); Route::patch('/news/{news}/change-published', [ NewsController::class, 'changePublished' ])->name('news.change-published'); Route::patch('/news/{news}/change-order/{direction}', [ RangeController::class, 'changeOrder' ])->where('direction', 'up|down')->name('news.change-order'); Route::get('/news/{news}/duplicate', [ NewsController::class, 'duplicate' ])->name('news.duplicate'); // * SEASONAL SECTIONS. Route::resource('seasonalsections', SeasonalSectionController::class)->except('show') ->parameters(['seasonalsections' => 'seasonal_section']) ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:text'); Route::patch('/seasonalsections/{seasonal_section}/change-published', [ SeasonalSectionController::class, 'changePublished' ])->name('seasonalsections.change-published'); Route::get('/seasonalsections/{seasonal_section}/duplicate', [ SeasonalSectionController::class, 'duplicate' ])->name('seasonalsections.duplicate'); // * HOMEPAGE Route::get('/homepages/edit', [HomepageController::class, 'edit'])->name('homepages.edit'); Route::put('/homepages/update', [HomepageController::class, 'update'])->name('homepages.update') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:presentation_content'); // * STAMPS Route::resource('stamps', StampController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:description'); Route::patch('/stamps/{stamp}/change-published', [ StampController::class, 'changePublished' ])->name('stamps.change-published'); Route::patch('/stamps/{stamp}/change-order/{direction}', [ StampController::class, 'changeOrder' ])->where('direction', 'up|down')->name('stamps.change-order'); Route::get('/stamps/{stamp}/duplicate', [ StampController::class, 'duplicate' ])->name('stamps.duplicate'); // * EXPLORERPAGES Route::get('/explorerpages/edit', [ExplorerpageController::class, 'edit']) ->name('explorerpages.edit'); Route::put('/explorerpages/update', [ExplorerpageController::class, 'update']) ->name('explorerpages.update'); // * PRODUCTS Route::resource('products', ProductController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:description,cooking_advice,ingredients'); Route::patch('/products/{product}/change-published', [ ProductController::class, 'changePublished' ])->name('products.change-published'); Route::patch('/products/{product}/change-order/{direction}', [ ProductController::class, 'changeOrder' ])->where('direction', 'up|down')->name('products.change-order'); Route::get('/products/{product}/duplicate', [ ProductController::class, 'duplicate' ])->name('products.duplicate'); // * CONVICTIONPAGES Route::get('/convictionpages/edit', [ConvictionpageController::class, 'edit']) ->name('convictionpages.edit'); Route::put('/convictionpages/update', [ConvictionpageController::class, 'update']) ->name('convictionpages.update'); // * JOINUSPAGES Route::get('/joinuspages/edit', [JoinuspageController::class, 'edit']) ->name('joinuspages.edit'); Route::put('/joinuspages/update', [JoinuspageController::class, 'update']) ->name('joinuspages.update'); // * TESTIMONIALS Route::resource('testimonials', TestimonialController::class)->except(['show']); Route::get('/testimonials/{testimonial}/duplicate', [ TestimonialController::class, 'duplicate' ])->name('testimonials.duplicate'); Route::patch('/testimonials/{testimonial}/change-order/{direction}', [ TestimonialController::class, 'changeOrder' ])->where('direction', 'up|down')->name('testimonials.change-order'); Route::middleware('can:isConceptor')->group(function () { // * ACTIVITY LOGS. Route::resource('activity_logs', ActivityLogsController::class)->only(['index', 'show']); }); }); // * Others routes Route::post('theme/set', [Controller::class, 'setTheme'])->name('theme.set'); });