prefix('bo') ->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'); }); Route::middleware('auth:backend')->group(function () { Route::get('/', [DashboardController::class, 'index'])->name('dashboard'); // * USERS. Route::resource('users', UserController::class)->except('show'); Route::patch('/users/{user}/change-published', [ UserController::class, 'changePublished' ])->name('users.change-published'); Route::get('/users/{user}/duplicate', [ UserController::class, 'duplicate' ])->name('users.duplicate'); // * 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'); // * NEWS. Route::resource('news', NewsController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:content,introduction'); Route::patch('/news/{news}/change-published', [ NewsController::class, 'changePublished' ])->name('news.change-published'); Route::patch('/news/{news}/change-order/{direction}', [ NewsController::class, 'changeOrder' ])->where('direction', 'up|down')->name('news.change-order'); Route::get('/news/{news}/duplicate', [ NewsController::class, 'duplicate' ])->name('news.duplicate'); // * SITES. Route::resource('sites', SiteController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:director_speach,employee_speach,highlights'); Route::patch('/sites/{site}/change-order/{direction}', [ SiteController::class, 'changeOrder' ])->where('direction', 'up|down')->name('sites.change-order'); Route::get('/sites/{site}/duplicate', [ SiteController::class, 'duplicate' ])->name('sites.duplicate'); // * LOGOS. Route::resource('logos', LogoController::class)->except('show'); Route::get('/logos/{logo}/duplicate', [ LogoController::class, 'duplicate' ])->name('logos.duplicate'); // * HISTORICAL MILESTONES. Route::resource('historicalmilestones', HistoricalMilestoneController::class)->except('show') ->parameters(['historicalmilestones' => 'historical_milestone']); Route::get('/historicalmilestones/{historical_milestone}/duplicate', [ HistoricalMilestoneController::class, 'duplicate' ])->name('historicalmilestones.duplicate'); // * SLIDES. Route::resource('slides', SlideController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:content'); Route::get('/slides/{slide}/duplicate', [ SlideController::class, 'duplicate' ])->name('slides.duplicate'); // * STRIPS. Route::resource('strips', StripController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:text'); Route::patch('/strips/{strip}/change-published', [ StripController::class, 'changePublished' ])->name('strips.change-published'); Route::get('/strips/{strip}/duplicate', [ StripController::class, 'duplicate' ])->name('strips.duplicate'); // * SECTIONS. Route::resource('sections', SectionController::class) ->only(['index', 'edit', 'update']) ->withoutMiddleware('htmlsanitize') ->middleware(['htmlsanitize:text,data']); Route::get('sections/{section}/addpartpiece', [SectionController::class, 'addPartPiece']) ->name('sections.addpartpiece'); Route::get('sections/{section}/removepartpiece/{index}', [SectionController::class, 'removePartPiece']) ->where('index', '[0-9]+') ->name('sections.removepartpiece'); // * JOB VIDEOS. Route::resource('jobvideos', JobVideoController::class)->except('show') ->parameters(['jobvideos' => 'job_video']); Route::get('/jobvideos/{job_video}/duplicate', [ JobVideoController::class, 'duplicate' ])->name('jobvideos.duplicate'); // * TESTIMONIALS. Route::resource('testimonials', TestimonialController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:content'); Route::get('/testimonials/{testimonial}/duplicate', [ TestimonialController::class, 'duplicate' ])->name('testimonials.duplicate'); // * NETWORKS. Route::resource('networks', NetworkController::class)->except('show'); Route::get('/networks/{network}/duplicate', [ NetworkController::class, 'duplicate' ])->name('networks.duplicate'); Route::patch('/networks/{network}/change-order/{direction}', [ NetworkController::class, 'changeOrder' ])->where('direction', 'up|down')->name('networks.change-order'); Route::patch('/networks/{network}/change-published', [ NetworkController::class, 'changePublished' ])->name('networks.change-published'); // * AISLES. Route::resource('aisles', AisleController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:text'); Route::get('/aisles/{aisle}/duplicate', [ AisleController::class, 'duplicate' ])->name('aisles.duplicate'); Route::patch('/aisles/{aisle}/change-published', [ AisleController::class, 'changePublished' ])->name('aisles.change-published'); Route::patch('/aisles/{aisle}/change-order', [ AisleController::class, 'changeCustomOrder' ])->name('aisles.change-order'); // * CAROUSELS. Route::resource('carousels', CarouselController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:media'); Route::get('/carousels/{carousel}/duplicate', [ CarouselController::class, 'duplicate' ])->name('carousels.duplicate'); Route::patch('/carousels/{carousel}/change-published', [ CarouselController::class, 'changePublished' ])->name('carousels.change-published'); Route::patch('/carousels/{carousel}/change-order', [ CarouselController::class, 'changeCustomOrder' ])->name('carousels.change-order'); // * BRANDS. Route::resource('brands', BrandController::class)->except('show') ->withoutMiddleware('htmlsanitize') ->middleware('htmlsanitize:text'); Route::get('/brands/{brand}/duplicate', [ BrandController::class, 'duplicate' ])->name('brands.duplicate'); Route::patch('/brands/{brand}/change-published', [ BrandController::class, 'changePublished' ])->name('brands.change-published'); // * STICKIES. Route::resource('stickies', StickyController::class)->except('show'); Route::get('/stickies/{sticky}/duplicate', [ StickyController::class, 'duplicate' ])->name('stickies.duplicate'); Route::middleware('can:isConceptor')->group(function () { // * ACTIVITY LOGS. Route::resource('activity_logs', ActivityLogController::class)->only(['index', 'show']); }); // * UPLOAD (USED FOR CKEDITOR) Route::post('/upload', [UploadController::class, 'uploadFile'])->name('ckeditor.upload'); }); // * Others routes Route::post('theme/set', [Controller::class, 'setTheme'])->name('theme.set'); });