You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.6 KiB
82 lines
3.6 KiB
<?php
|
|
|
|
use App\Attributes\LayoutData;
|
|
use App\Attributes\Seo;
|
|
use App\Http\Controllers\Web\Academic\FacultyController;
|
|
use App\Http\Controllers\Web\Academic\StudyProgramController;
|
|
use App\Http\Controllers\Web\Academic\TermController;
|
|
use App\Http\Controllers\Web\Account\ProfileController;
|
|
use App\Http\Controllers\Web\Admission\AcademicProgramController;
|
|
use App\Http\Controllers\Web\Admission\AdmissionScheduleController;
|
|
use App\Http\Controllers\Web\Admission\AdmissionTrackController;
|
|
use App\Http\Controllers\Web\Admission\FeeTypeController;
|
|
use App\Http\Controllers\Web\Finance\ChartOfAccountController;
|
|
use App\Http\Controllers\Web\Finance\InvoiceController;
|
|
use App\Http\Controllers\Web\Finance\ProductMappingController;
|
|
use App\Http\Controllers\Web\Identity\RoleController;
|
|
use App\Http\Controllers\Web\Identity\UserController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', fn () => redirect()->route('dashboard'));
|
|
|
|
Route::middleware(['web', 'auth', 'verified', 'seo', 'layouts'])->group(function () {
|
|
Route::view('/dashboard', 'dashboard')
|
|
->defaults('seo', new Seo(
|
|
title: 'seo.dashboard.title',
|
|
description: 'seo.dashboard.description',
|
|
keywords: 'seo.dashboard.keywords'
|
|
))->defaults('layout_data', new LayoutData(
|
|
header: 'seo.dashboard.title',
|
|
breadcrumbs: [
|
|
'ui.menu.dashboard' => 'dashboard',
|
|
],
|
|
))->can('dashboard.index')
|
|
->name('dashboard');
|
|
|
|
Route::livewire('/user/{user_id}', 'pages::identity.users.detail-view')->name('users.view');
|
|
Route::get('/users', UserController::class)->name('users.index');
|
|
Route::get('/roles', RoleController::class)->name('roles.index');
|
|
|
|
Route::get('/faculties', FacultyController::class)
|
|
->can('faculty.viewAny')
|
|
->name('faculties.index');
|
|
Route::get('/study-programs', StudyProgramController::class)
|
|
->can('study-program.viewAny')
|
|
->name('study-programs.index');
|
|
Route::get('/terms', TermController::class)->name('terms.index');
|
|
|
|
Route::get('/admission-tracks', AdmissionTrackController::class)
|
|
->can('admission-track.viewAny')
|
|
->name('admission-tracks.index');
|
|
Route::get('/academic-programs', AcademicProgramController::class)
|
|
->can('academic-program.viewAny')
|
|
->name('academic-programs.index');
|
|
Route::get('/fee-types', FeeTypeController::class)
|
|
->can('fee-type.viewAny')
|
|
->name('fee-types.index');
|
|
Route::get('/admission-schedules', AdmissionScheduleController::class)
|
|
->can('admission-schedule.viewAny')
|
|
->name('admission-schedules.index');
|
|
Route::livewire('/admission-schedules/{id}', 'pages::admission.admission-schedule.detail-view')
|
|
->can('admission-schedule.view')
|
|
->name('admission-schedules.view');
|
|
|
|
Route::get('/invoices', InvoiceController::class)
|
|
->can('invoice.viewAny')
|
|
->name('invoices.index');
|
|
Route::get('/chart-of-accounts', ChartOfAccountController::class)
|
|
->can('chart-of-account.viewAny')
|
|
->name('chart-of-accounts.index');
|
|
Route::get('/product-mappings', ProductMappingController::class)
|
|
->can('product-mapping.viewAny')
|
|
->name('product-mappings.index');
|
|
|
|
Route::middleware('password.confirm')->group(function () {
|
|
Route::livewire('/system/settings', 'pages::system.settings.setting-list')->name('system-setting.index');
|
|
Route::livewire('/system/backups', 'pages::system.backups.backup-list')->name('system-backup.index');
|
|
|
|
Route::get('/profile', ProfileController::class)->name('profile.index');
|
|
});
|
|
});
|
|
|
|
require __DIR__.'/auth.php';
|
|
|