106 lines
5.0 KiB
PHP
106 lines
5.0 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AttachmentController;
|
|
use App\Http\Controllers\Auth\ForgotPasswordController;
|
|
use App\Http\Controllers\Auth\LogoutController;
|
|
use App\Http\Controllers\Auth\ResetPasswordController;
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Livewire\Auth\LoginPage;
|
|
use App\Livewire\Dashboard\DashboardPage;
|
|
use App\Livewire\Directories\DepartmentsPage;
|
|
use App\Livewire\Directories\EquipmentCategoriesPage;
|
|
use App\Livewire\Directories\EquipmentPage;
|
|
use App\Livewire\Directories\RequestTypesPage;
|
|
use App\Livewire\MyRequests\MyRequestFormPage;
|
|
use App\Livewire\MyRequests\MyRequestsIndexPage;
|
|
use App\Livewire\Notifications\NotificationsPage;
|
|
use App\Livewire\Profile\ProfilePage;
|
|
use App\Livewire\Reports\EquipmentReportPage;
|
|
use App\Livewire\Reports\GeneralReportPage;
|
|
use App\Livewire\Reports\SlaReportPage;
|
|
use App\Livewire\Reports\TechniciansReportPage;
|
|
use App\Livewire\Requests\RequestFormPage;
|
|
use App\Livewire\Requests\RequestIndexPage;
|
|
use App\Livewire\Requests\RequestShowPage;
|
|
use App\Livewire\System\ActivityLogPage;
|
|
use App\Livewire\System\SettingsPage;
|
|
use App\Livewire\Tasks\MyTasksPage;
|
|
use App\Livewire\Users\UserFormPage;
|
|
use App\Livewire\Users\UserShowPage;
|
|
use App\Livewire\Users\UsersIndexPage;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', HomeController::class);
|
|
|
|
Route::middleware('guest')->group(function () {
|
|
Route::get('/login', LoginPage::class)->name('login');
|
|
Route::get('/forgot-password', [ForgotPasswordController::class, 'create'])->name('password.request');
|
|
Route::post('/forgot-password', [ForgotPasswordController::class, 'store'])->name('password.email');
|
|
Route::get('/reset-password/{token}', [ResetPasswordController::class, 'create'])->name('password.reset');
|
|
Route::post('/reset-password', [ResetPasswordController::class, 'store'])->name('password.store');
|
|
});
|
|
|
|
Route::post('/logout', LogoutController::class)->middleware('auth')->name('logout');
|
|
|
|
Route::middleware(['auth', 'active_user'])->group(function () {
|
|
Route::get('/profile', ProfilePage::class)->name('profile');
|
|
Route::get('/notifications', NotificationsPage::class)->name('notifications.index');
|
|
Route::get('/requests/{request}', RequestShowPage::class)
|
|
->whereNumber('request')
|
|
->name('requests.show');
|
|
Route::get('/my-requests/{request}', RequestShowPage::class)
|
|
->whereNumber('request')
|
|
->name('my-requests.show');
|
|
|
|
Route::get('/requests/{request}/attachments/{attachment}', [AttachmentController::class, 'download'])
|
|
->whereNumber('request')
|
|
->whereNumber('attachment')
|
|
->name('attachments.download');
|
|
|
|
Route::middleware('role:admin,manager')->group(function () {
|
|
Route::get('/dashboard', DashboardPage::class)->name('dashboard');
|
|
|
|
Route::get('/requests', RequestIndexPage::class)->name('requests.index');
|
|
Route::get('/requests/create', RequestFormPage::class)->name('requests.create');
|
|
Route::get('/requests/{request}/edit', RequestFormPage::class)
|
|
->whereNumber('request')
|
|
->name('requests.edit');
|
|
|
|
Route::get('/users', UsersIndexPage::class)->name('users.index');
|
|
Route::get('/users/{user}', UserShowPage::class)
|
|
->whereNumber('user')
|
|
->name('users.show');
|
|
|
|
Route::redirect('/reports', '/reports/general')->name('reports');
|
|
Route::get('/reports/general', GeneralReportPage::class)->name('reports.general');
|
|
Route::get('/reports/technicians', TechniciansReportPage::class)->name('reports.technicians');
|
|
Route::get('/reports/sla', SlaReportPage::class)->name('reports.sla');
|
|
Route::get('/reports/equipment', EquipmentReportPage::class)->name('reports.equipment');
|
|
});
|
|
|
|
Route::middleware('role:admin')->group(function () {
|
|
Route::get('/users/create', UserFormPage::class)->name('users.create');
|
|
Route::get('/users/{user}/edit', UserFormPage::class)
|
|
->whereNumber('user')
|
|
->name('users.edit');
|
|
|
|
Route::redirect('/directories', '/directories/departments')->name('directories');
|
|
Route::get('/directories/departments', DepartmentsPage::class)->name('directories.departments');
|
|
Route::get('/directories/equipment-categories', EquipmentCategoriesPage::class)->name('directories.equipment-categories');
|
|
Route::get('/directories/request-types', RequestTypesPage::class)->name('directories.request-types');
|
|
Route::get('/directories/equipment', EquipmentPage::class)->name('directories.equipment');
|
|
|
|
Route::get('/activity-log', ActivityLogPage::class)->name('activity-log');
|
|
Route::get('/settings', SettingsPage::class)->name('settings');
|
|
});
|
|
|
|
Route::middleware('role:technician')->group(function () {
|
|
Route::get('/my-tasks', MyTasksPage::class)->name('my-tasks');
|
|
});
|
|
|
|
Route::middleware('role:client')->group(function () {
|
|
Route::get('/my-requests', MyRequestsIndexPage::class)->name('my-requests.index');
|
|
Route::get('/my-requests/create', MyRequestFormPage::class)->name('my-requests.create');
|
|
});
|
|
});
|