ldc-volena/routes/web-bo.php
2026-06-01 10:51:22 +02:00

246 lines
10 KiB
PHP

<?php
use App\Http\Controllers\Bo\ActivityLogController;
use App\Http\Controllers\Bo\AisleController;
use App\Http\Controllers\Bo\BrandController;
use App\Http\Controllers\Bo\CarouselController;
use App\Http\Controllers\Bo\DashboardController;
use App\Http\Controllers\Bo\HistoricalMilestoneController;
use App\Http\Controllers\Bo\JobVideoController;
use App\Http\Controllers\Bo\LogoController;
use App\Http\Controllers\Bo\NetworkController;
use App\Http\Controllers\Bo\NewsController;
use App\Http\Controllers\Bo\SectionController;
use App\Http\Controllers\Bo\SiteController;
use App\Http\Controllers\Bo\SlideController;
use App\Http\Controllers\Bo\StaticPageController;
use App\Http\Controllers\Bo\StickyController;
use App\Http\Controllers\Bo\StripController;
use App\Http\Controllers\Bo\TestimonialController;
use App\Http\Controllers\Bo\UploadController;
use App\Http\Controllers\Bo\UserController;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
Route::middleware(['admin-secure'])->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');
});