ldc-tregalette/routes/web-bo.php
2023-12-15 15:53:55 +00:00

154 lines
7.2 KiB
PHP

<?php
use App\Http\Controllers\Bo\ActivityLogController;
use App\Http\Controllers\Bo\CommitmentPageController;
use App\Http\Controllers\Bo\DashboardController;
use App\Http\Controllers\Bo\GameController;
use App\Http\Controllers\Bo\HistoricalMilestoneController;
use App\Http\Controllers\Bo\KlubBlocController;
use App\Http\Controllers\Bo\LocalCommitmentController;
use App\Http\Controllers\Bo\NewsController;
use App\Http\Controllers\Bo\PictoController;
use App\Http\Controllers\Bo\RangeController;
use App\Http\Controllers\Bo\ProductController;
use App\Http\Controllers\Bo\StaticPageController;
use App\Http\Controllers\Bo\UserController;
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(['admin-secure', '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');
// * StaticPages
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']);
// * PICTOS.
Route::resource('pictos', PictoController::class)->except('show');
Route::patch('/pictos/{picto}/change-published', [
PictoController::class, 'changePublished'
])->name('pictos.change-published');
Route::get('/pictos/{picto}/duplicate', [
PictoController::class, 'duplicate'
])->name('pictos.duplicate');
// * RANGES
Route::resource('ranges', RangeController::class)->only(['index', 'edit', 'update']);
// * PRODUCTS
Route::resource('products', ProductController::class)->except('show')
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:description,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');
// * LOCAL_COMMITMENTS
Route::resource('localcommitments', LocalCommitmentController::class)->except('show')
->parameters(['localcommitments' => 'local_commitment'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:text');
Route::patch('/localcommitments/{local_commitment}/change-published', [
LocalCommitmentController::class, 'changePublished'
])->name('localcommitments.change-published');
Route::patch('/localcommitments/{local_commitment}/change-order/{direction}', [
LocalCommitmentController::class, 'changeOrder'
])->where('direction', 'up|down')->name('localcommitments.change-order');
Route::get('/localcommitments/{local_commitment}/duplicate', [
LocalCommitmentController::class, 'duplicate'
])->name('localcommitments.duplicate');
// * COMMITMENT PAGE
Route::resource('commitmentpages', CommitmentPageController::class)
->parameters(['commitmentpages' => 'commitment_page'])
->only(['edit', 'update'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:quality_text,product1_text,product2_text,environment_text');
// * NEWS
Route::resource('news', NewsController::class)->except('show')
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:text');
Route::patch('/news/{news}/change-published', [
NewsController::class, 'changePublished'
])->name('news.change-published');
Route::get('/news/{news}/duplicate', [
NewsController::class, 'duplicate'
])->name('news.duplicate');
// * GAMES
Route::resource('games', GameController::class)->except('show')
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:text');
Route::patch('/games/{game}/change-published', [
GameController::class, 'changePublished'
])->name('games.change-published');
Route::get('/games/{game}/duplicate', [
GameController::class, 'duplicate'
])->name('games.duplicate');
// * HISTORICAL MILESTONE
Route::resource('historicalmilestones', HistoricalMilestoneController::class)->except('show')
->parameters(['historicalmilestones' => 'historical_milestone'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:text');
Route::patch('/historicalmilestones/{historical_milestone}/change-published', [
HistoricalMilestoneController::class, 'changePublished'
])->name('historicalmilestones.change-published');
Route::get('/historicalmilestones/{historical_milestone}/duplicate', [
HistoricalMilestoneController::class, 'duplicate'
])->name('historicalmilestones.duplicate');
// * KLUB BLOC
Route::resource('klubblocs', KlubBlocController::class)
->parameters(['klubblocs' => 'klub_bloc'])
->only(['edit', 'update']);
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');
});