261 lines
13 KiB
PHP
261 lines
13 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Bo\ActivityLogController;
|
|
use App\Http\Controllers\Bo\ApproachController;
|
|
use App\Http\Controllers\Bo\DemarcheSlideController;
|
|
use App\Http\Controllers\Bo\BrandAdvantageController;
|
|
use App\Http\Controllers\Bo\ConsumptionMomentController;
|
|
use App\Http\Controllers\Bo\DashboardController;
|
|
use App\Http\Controllers\Bo\GeneralSettingController;
|
|
use App\Http\Controllers\Bo\KeyNumberController;
|
|
use App\Http\Controllers\Bo\MainSlideController;
|
|
use App\Http\Controllers\Bo\MenuNodeDataController;
|
|
use App\Http\Controllers\Bo\MeatController;
|
|
use App\Http\Controllers\Bo\ProductController;
|
|
use App\Http\Controllers\Bo\ProfessionController;
|
|
use App\Http\Controllers\Bo\RangeController;
|
|
use App\Http\Controllers\Bo\StaticPageController;
|
|
use App\Http\Controllers\Bo\SubmeatController;
|
|
use App\Http\Controllers\Bo\SubrangeController;
|
|
use App\Http\Controllers\Bo\UserController;
|
|
use App\Http\Controllers\Bo\VideoController;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::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::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');
|
|
|
|
// * GENERAL SETTINGS
|
|
Route::resource('general_settings', GeneralSettingController::class)
|
|
->names([
|
|
'index' => 'general_settings.index',
|
|
'edit' => 'general_settings.edit',
|
|
'update' => 'general_settings.update',
|
|
])->only(['index', 'edit', 'update']);
|
|
|
|
// * 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');
|
|
|
|
// * MENU NODE DATA
|
|
Route::resource('menu_node_data', MenuNodeDataController::class)
|
|
// * Nasty hack to prevent unwanted modifications form singular lib
|
|
->parameter('menu_node_data', 'menu_node_data')
|
|
->only(['index', 'update']);
|
|
|
|
// * PROFESSIONS.
|
|
Route::resource('professions', ProfessionController::class);
|
|
Route::patch('/professions/{profession}/change-published', [
|
|
ProfessionController::class, 'changePublished'
|
|
])->name('professions.change-published');
|
|
Route::get('/professions/{profession}/duplicate', [
|
|
ProfessionController::class, 'duplicate'
|
|
])->name('professions.duplicate');
|
|
|
|
// * KEYNUMBERS.
|
|
Route::resource('key_numbers', KeyNumberController::class);
|
|
Route::patch('/key_numbers/{key_number}/change-published', [
|
|
KeyNumberController::class, 'changePublished'
|
|
])->name('key_numbers.change-published');
|
|
Route::patch('/key_numbers/{key_number}/change-order/{direction}', [
|
|
KeyNumberController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('key_numbers.change-order');
|
|
Route::get('/key_numbers/{key_number}/duplicate', [
|
|
KeyNumberController::class, 'duplicate'
|
|
])->name('key_numbers.duplicate');
|
|
|
|
// * BRAND_ADVANTAGES.
|
|
Route::resource('brand_advantages', BrandAdvantageController::class);
|
|
Route::patch('/brand_advantages/{brand_advantage}/change-order/{direction}', [
|
|
BrandAdvantageController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('brand_advantages.change-order');
|
|
Route::patch('/brand_advantages/{brand_advantage}/change-published', [
|
|
BrandAdvantageController::class, 'changePublished'
|
|
])->name('brand_advantages.change-published');
|
|
Route::get('/brand_advantages/{brand_advantage}/duplicate', [
|
|
BrandAdvantageController::class, 'duplicate'
|
|
])->name('brand_advantages.duplicate');
|
|
|
|
// * DEMARCHE_SLIDES.
|
|
Route::resource('demarche_slides', DemarcheSlideController::class)
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:text');
|
|
Route::patch('/demarche_slides/{demarche_slide}/change-order/{direction}', [
|
|
DemarcheSlideController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('demarche_slides.change-order');
|
|
Route::patch('/demarche_slides/{demarche_slide}/change-published', [
|
|
DemarcheSlideController::class, 'changePublished'
|
|
])->name('demarche_slides.change-published');
|
|
Route::get('/demarche_slides/{demarche_slide}/duplicate', [
|
|
DemarcheSlideController::class, 'duplicate'
|
|
])->name('demarche_slides.duplicate');
|
|
|
|
// * MAIN_SLIDES.
|
|
Route::resource('main_slides', MainSlideController::class)
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:text');
|
|
Route::patch('/main_slides/{main_slide}/change-order/{direction}', [
|
|
MainSlideController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('main_slides.change-order');
|
|
Route::patch('/main_slides/{main_slide}/change-published', [
|
|
MainSlideController::class, 'changePublished'
|
|
])->name('main_slides.change-published');
|
|
Route::get('/main_slides/{main_slide}/duplicate', [
|
|
MainSlideController::class, 'duplicate'
|
|
])->name('main_slides.duplicate');
|
|
|
|
// * RANGES.
|
|
Route::resource('ranges', RangeController::class)
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:description');
|
|
Route::patch('/ranges/{range}/change-order/{direction}', [
|
|
RangeController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('ranges.change-order');
|
|
Route::patch('/ranges/{range}/change-published', [
|
|
RangeController::class, 'changePublished'
|
|
])->name('ranges.change-published');
|
|
Route::get('/ranges/{range}/duplicate', [
|
|
RangeController::class, 'duplicate'
|
|
])->name('ranges.duplicate');
|
|
// Change order of ranges.
|
|
Route::get('/ranges/{range}/change-subranges-order', [
|
|
RangeController::class, 'editSubrangesOrder'
|
|
])->name('ranges.edit-subranges-order');
|
|
Route::patch('/ranges/{range}/update-subranges-order', [
|
|
RangeController::class, 'updateSubrangesOrder'
|
|
])->name('ranges.update-subranges-order');
|
|
|
|
// * SUBRANGES.
|
|
Route::resource('subranges', SubrangeController::class)
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:description');
|
|
Route::patch('/subranges/{subrange}/change-published', [
|
|
SubrangeController::class, 'changePublished'
|
|
])->name('subranges.change-published');
|
|
Route::get('/subranges/{subrange}/duplicate', [
|
|
SubrangeController::class, 'duplicate'
|
|
])->name('subranges.duplicate');
|
|
|
|
// * MEATS.
|
|
Route::resource('meats', MeatController::class)
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:description');
|
|
Route::patch('/meats/{meat}/change-order/{direction}', [
|
|
MeatController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('meats.change-order');
|
|
Route::patch('/meats/{meat}/change-published', [
|
|
MeatController::class, 'changePublished'
|
|
])->name('meats.change-published');
|
|
Route::get('/meats/{meat}/duplicate', [
|
|
MeatController::class, 'duplicate'
|
|
])->name('meats.duplicate');
|
|
// Change order of submodels.
|
|
Route::get('/meats/{meat}/change-submeats-order', [
|
|
MeatController::class, 'editSubmeatsOrder'
|
|
])->name('meats.edit-submeats-order');
|
|
Route::patch('/meats/{meat}/update-submeats-order', [
|
|
MeatController::class, 'updateSubmeatsOrder'
|
|
])->name('meats.update-submeats-order');
|
|
|
|
// * SUBMEATS.
|
|
Route::resource('submeats', SubmeatController::class)
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:description');
|
|
Route::patch('/submeats/{submeat}/change-published', [
|
|
SubmeatController::class, 'changePublished'
|
|
])->name('submeats.change-published');
|
|
Route::get('/submeats/{submeat}/duplicate', [
|
|
SubmeatController::class, 'duplicate'
|
|
])->name('submeats.duplicate');
|
|
|
|
// * APPROACHES.
|
|
Route::get('/approaches/{approach_type}', [
|
|
ApproachController::class, 'index'
|
|
])->name('approaches.index');
|
|
Route::get('/approaches/{approach_type}/create', [
|
|
ApproachController::class, 'create'
|
|
])->name('approaches.create');
|
|
Route::post('/approaches/{approach_type}/store', [
|
|
ApproachController::class, 'store'
|
|
])->name('approaches.store');
|
|
Route::get('/approaches/{approach}/show', [
|
|
ApproachController::class, 'show'
|
|
])->name('approaches.show');
|
|
Route::resource('approaches', ApproachController::class)->only(['edit', 'update', 'destroy']);
|
|
Route::patch('/approaches/{approach}/change-order/{direction}', [
|
|
ApproachController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('approaches.change-order');
|
|
Route::patch('/approaches/{approach}/change-published', [
|
|
ApproachController::class, 'changePublished'
|
|
])->name('approaches.change-published');
|
|
Route::get('/approaches/{approach}/duplicate', [
|
|
ApproachController::class, 'duplicate'
|
|
])->name('approaches.duplicate');
|
|
Route::get('/approaches/json/paginate', [ApproachController::class, 'jsonPaginate'])
|
|
->name('approaches.json-paginate');
|
|
|
|
// * CONSUMPTION MOMENT.
|
|
Route::resource('consumption_moments', ConsumptionMomentController::class);
|
|
Route::get('/consumption_moments/{consumption_moment}/duplicate', [
|
|
ConsumptionMomentController::class, 'duplicate'
|
|
])->name('consumption_moments.duplicate');
|
|
|
|
// * VIDEOS.
|
|
Route::resource('videos', VideoController::class);
|
|
Route::patch('/videos/{video}/change-published', [
|
|
VideoController::class, 'changePublished'
|
|
])->name('videos.change-published');
|
|
Route::patch('/videos/{video}/change-homepage', [
|
|
VideoController::class, 'changeHomepage'
|
|
])->name('videos.change-homepage');
|
|
Route::patch('/videos/{video}/change-order/{direction}', [
|
|
VideoController::class, 'changeOrder'
|
|
])->where('direction', 'up|down')->name('videos.change-order');
|
|
Route::get('/videos/{video}/duplicate', [
|
|
VideoController::class, 'duplicate'
|
|
])->name('videos.duplicate');
|
|
Route::get('/products/json/paginate', [ProductController::class, 'jsonPaginate'])
|
|
->name('products.json-paginate');
|
|
|
|
Route::middleware('can:isConceptor')->group(function () {
|
|
// * ACTIVITY LOGS.
|
|
Route::resource('activity_logs', ActivityLogController::class)->only(['index', 'show']);
|
|
});
|
|
});
|
|
// * Others routes
|
|
Route::post('theme/set', [Controller::class, 'setTheme'])->name('theme.set');
|
|
});
|