93 lines
3.7 KiB
PHP
93 lines
3.7 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Bo\ActivityLogController;
|
|
use App\Http\Controllers\Bo\BrandController;
|
|
use App\Http\Controllers\Bo\DashboardController;
|
|
use App\Http\Controllers\Bo\ExportController;
|
|
use App\Http\Controllers\Bo\FontController;
|
|
use App\Http\Controllers\Bo\ProductController;
|
|
use App\Http\Controllers\Bo\RangeController;
|
|
use App\Http\Controllers\Bo\SettingsController;
|
|
use App\Http\Controllers\Bo\TenantController;
|
|
use App\Http\Controllers\Bo\UserController;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Route;
|
|
use Stancl\Tenancy\Middleware\InitializeTenancyByPath;
|
|
|
|
Route::middleware(['web', 'admin-secure'])->name('bo.')->group(function () {
|
|
|
|
Route::prefix('/bo')->group(function () {
|
|
// * Authenticable routes
|
|
Route::namespace('\App\Http\Controllers\Bo')
|
|
->middleware(['throttle:credentials'])
|
|
->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');
|
|
});
|
|
|
|
// * Others routes
|
|
Route::post('theme/set', [Controller::class, 'setTheme'])->name('theme.set');
|
|
Route::get('/lang/{lang}', [DashboardController::class, 'changelang'])->name('lang');
|
|
|
|
Route::middleware(['auth:backend', 'restrict_tenant_access'])->group(function () {
|
|
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
|
|
|
|
// * TENANTS MANAGEMENT
|
|
Route::resource('tenants', TenantController::class)
|
|
->only(['index', 'create', 'store', 'destroy']);
|
|
|
|
// * 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');
|
|
});
|
|
});
|
|
|
|
Route::middleware([
|
|
'restrict_tenant_access',
|
|
InitializeTenancyByPath::class,
|
|
'auth:backend'
|
|
])->prefix('{tenant}/bo')->group(function () {
|
|
// * EXPORT.
|
|
Route::get('export', [ExportController::class, 'exportToZip'])->name('export');
|
|
|
|
// * SETTINGS
|
|
Route::resource('settings', SettingsController::class)->only(['edit', 'update'])
|
|
->parameters(['settings' => 'settings']);
|
|
|
|
// * FONTS
|
|
Route::resource('fonts', FontController::class)->except('show');
|
|
|
|
// * BRANDS
|
|
Route::resource('brands', BrandController::class)->except('show');
|
|
|
|
// * RANGES
|
|
Route::resource('ranges', RangeController::class)->except('show');
|
|
Route::patch('/ranges/{range}/change-order/{direction}', [RangeController::class, 'changeOrder'])
|
|
->where('direction', 'up|down')
|
|
->name('ranges.change-order');
|
|
|
|
// * PRODUCTS
|
|
Route::resource('products', ProductController::class)->except('show')
|
|
->withoutMiddleware('htmlsanitize')
|
|
->middleware('htmlsanitize:description');
|
|
|
|
Route::middleware('can:isConceptor')->group(function () {
|
|
// * ACTIVITY LOGS.
|
|
Route::resource('activity_logs', ActivityLogController::class)->only(['index', 'show']);
|
|
});
|
|
});
|
|
});
|