ajout app
This commit is contained in:
1223
SNIPE-IT/routes/api.php
Normal file
1223
SNIPE-IT/routes/api.php
Normal file
File diff suppressed because it is too large
Load Diff
37
SNIPE-IT/routes/console.php
Normal file
37
SNIPE-IT/routes/console.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Setting;
|
||||
use Illuminate\Foundation\Inspiring;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Console Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This file is where you may define all of your Closure based console
|
||||
| commands. Each Closure is bound to a command instance allowing a
|
||||
| simple approach to interacting with each command's IO methods.
|
||||
|
|
||||
*/
|
||||
|
||||
Artisan::command('inspire', function () {
|
||||
$this->comment(Inspiring::quote());
|
||||
})->purpose('Display an inspiring quote');
|
||||
|
||||
Artisan::command('snipeit:travisci-install', function () {
|
||||
if (! Setting::setupCompleted()) {
|
||||
$settings = new Setting();
|
||||
$settings->site_name = 'test-ci';
|
||||
$settings->alert_email = 'test@example.com';
|
||||
$settings->alerts_enabled = 1;
|
||||
$settings->brand = 1;
|
||||
$settings->locale = 'en';
|
||||
$settings->default_currency = 'USD';
|
||||
$settings->user_id = 1;
|
||||
$settings->email_domain = 'example.com';
|
||||
$settings->email_format = 'filastname';
|
||||
$settings->save();
|
||||
} else {
|
||||
$this->comment('Setup already ran');
|
||||
}
|
||||
})->purpose('Travis-cli install script for unit tests');
|
38
SNIPE-IT/routes/scim.php
Normal file
38
SNIPE-IT/routes/scim.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use ArieTimmerman\Laravel\SCIMServer\RouteProvider as SCIMRouteProvider;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| SCIM Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These are the routes that we have to explicitly inject from the
|
||||
| laravel-scim-server project, which gives Snipe-IT SCIM support
|
||||
|
|
||||
*/
|
||||
|
||||
SCIMRouteProvider::publicRoutes(); // Make sure to load public routes *FIRST*
|
||||
|
||||
Route::middleware(['auth:api','authorize:superadmin'])->group(function () {
|
||||
SCIMRouteProvider::routes(
|
||||
[
|
||||
/*
|
||||
* If we leave public_routes as 'true', the public routes will load *now* and
|
||||
* be jammed into the same middleware that these private routes are loaded
|
||||
* with. That's bad, because these routes are *supposed* to be public.
|
||||
*
|
||||
* We loaded them a few lines above, *first*, otherwise the various
|
||||
* fallback routes in the library defined within these *secured* routes
|
||||
* will "take over" the above routes - and then you will end up losing
|
||||
* like 4 hours of your life trying to figure out why the public routes
|
||||
* aren't quite working right. Ask me how I know (BMW, 3/19/2022)
|
||||
*/
|
||||
'public_routes' => false
|
||||
]
|
||||
);
|
||||
|
||||
SCIMRouteProvider::meRoutes();
|
||||
}); // ->can('superuser');
|
543
SNIPE-IT/routes/web.php
Normal file
543
SNIPE-IT/routes/web.php
Normal file
@ -0,0 +1,543 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Account;
|
||||
use App\Http\Controllers\ActionlogController;
|
||||
use App\Http\Controllers\CategoriesController;
|
||||
use App\Http\Controllers\CompaniesController;
|
||||
use App\Http\Controllers\DashboardController;
|
||||
use App\Http\Controllers\DepartmentsController;
|
||||
use App\Http\Controllers\DepreciationsController;
|
||||
use App\Http\Controllers\GroupsController;
|
||||
use App\Http\Controllers\HealthController;
|
||||
use App\Http\Controllers\ImportsController;
|
||||
use App\Http\Controllers\LabelsController;
|
||||
use App\Http\Controllers\LocationsController;
|
||||
use App\Http\Controllers\ManufacturersController;
|
||||
use App\Http\Controllers\ModalController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\ReportsController;
|
||||
use App\Http\Controllers\SettingsController;
|
||||
use App\Http\Controllers\StatuslabelsController;
|
||||
use App\Http\Controllers\SuppliersController;
|
||||
use App\Http\Controllers\ViewAssetsController;
|
||||
use App\Http\Controllers\Auth\LoginController;
|
||||
use App\Http\Controllers\Auth\ForgotPasswordController;
|
||||
use App\Http\Controllers\Auth\ResetPasswordController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
Route::group(['middleware' => 'auth'], function () {
|
||||
/*
|
||||
* Companies
|
||||
*/
|
||||
Route::resource('companies', CompaniesController::class, [
|
||||
'parameters' => ['company' => 'company_id'],
|
||||
]);
|
||||
|
||||
/*
|
||||
* Categories
|
||||
*/
|
||||
Route::resource('categories', CategoriesController::class, [
|
||||
'parameters' => ['category' => 'category_id'],
|
||||
]);
|
||||
|
||||
/*
|
||||
* Labels
|
||||
*/
|
||||
Route::get(
|
||||
'labels/{labelName}',
|
||||
[LabelsController::class, 'show']
|
||||
)->where('labelName', '.*')->name('labels.show');
|
||||
|
||||
/*
|
||||
* Locations
|
||||
*/
|
||||
|
||||
Route::group(['prefix' => 'locations', 'middleware' => ['auth']], function () {
|
||||
|
||||
Route::post(
|
||||
'bulkdelete',
|
||||
[LocationsController::class, 'postBulkDelete']
|
||||
)->name('locations.bulkdelete.show');
|
||||
|
||||
Route::post(
|
||||
'bulkedit',
|
||||
[LocationsController::class, 'postBulkDeleteStore']
|
||||
)->name('locations.bulkdelete.store');
|
||||
|
||||
|
||||
Route::get('{locationId}/clone',
|
||||
[LocationsController::class, 'getClone']
|
||||
)->name('clone/location');
|
||||
|
||||
Route::get(
|
||||
'{locationId}/printassigned',
|
||||
[LocationsController::class, 'print_assigned']
|
||||
)->name('locations.print_assigned');
|
||||
|
||||
Route::get(
|
||||
'{locationId}/printallassigned',
|
||||
[LocationsController::class, 'print_all_assigned']
|
||||
)->name('locations.print_all_assigned');
|
||||
|
||||
});
|
||||
|
||||
Route::resource('locations', LocationsController::class, [
|
||||
'parameters' => ['location' => 'location_id'],
|
||||
]);
|
||||
|
||||
|
||||
/*
|
||||
* Manufacturers
|
||||
*/
|
||||
|
||||
Route::group(['prefix' => 'manufacturers', 'middleware' => ['auth']], function () {
|
||||
Route::post('{manufacturers_id}/restore', [ManufacturersController::class, 'restore'] )->name('restore/manufacturer');
|
||||
});
|
||||
|
||||
Route::resource('manufacturers', ManufacturersController::class, [
|
||||
'parameters' => ['manufacturer' => 'manufacturers_id'],
|
||||
]);
|
||||
|
||||
/*
|
||||
* Suppliers
|
||||
*/
|
||||
Route::resource('suppliers', SuppliersController::class, [
|
||||
'parameters' => ['supplier' => 'supplier_id'],
|
||||
]);
|
||||
|
||||
/*
|
||||
* Depreciations
|
||||
*/
|
||||
Route::resource('depreciations', DepreciationsController::class, [
|
||||
'parameters' => ['depreciation' => 'depreciation_id'],
|
||||
]);
|
||||
|
||||
/*
|
||||
* Status Labels
|
||||
*/
|
||||
Route::resource('statuslabels', StatuslabelsController::class, [
|
||||
'parameters' => ['statuslabel' => 'statuslabel_id'],
|
||||
]);
|
||||
|
||||
/*
|
||||
* Departments
|
||||
*/
|
||||
Route::resource('departments', DepartmentsController::class, [
|
||||
'parameters' => ['department' => 'department_id'],
|
||||
]);
|
||||
});
|
||||
|
||||
/*
|
||||
|
|
||||
|--------------------------------------------------------------------------
|
||||
| Re-Usable Modal Dialog routes.
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Routes for various modal dialogs to interstitially create various things
|
||||
|
|
||||
*/
|
||||
|
||||
Route::group(['middleware' => 'auth', 'prefix' => 'modals'], function () {
|
||||
Route::get('{type}/{itemId?}', [ModalController::class, 'show'] )->name('modal.show');
|
||||
});
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Register all the admin routes.
|
||||
|
|
||||
*/
|
||||
|
||||
Route::group(['middleware' => 'auth'], function () {
|
||||
Route::get(
|
||||
'display-sig/{filename}',
|
||||
[ActionlogController::class, 'displaySig']
|
||||
)->name('log.signature.view');
|
||||
Route::get(
|
||||
'stored-eula-file/{filename}',
|
||||
[ActionlogController::class, 'getStoredEula']
|
||||
)->name('log.storedeula.download');
|
||||
});
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Admin Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Register all the admin routes.
|
||||
|
|
||||
*/
|
||||
|
||||
Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'authorize:superuser']], function () {
|
||||
Route::get('settings', [SettingsController::class, 'getSettings'])->name('settings.general.index');
|
||||
Route::post('settings', [SettingsController::class, 'postSettings'])->name('settings.general.save');
|
||||
|
||||
Route::get('branding', [SettingsController::class, 'getBranding'])->name('settings.branding.index');
|
||||
Route::post('branding', [SettingsController::class, 'postBranding'])->name('settings.branding.save');
|
||||
|
||||
Route::get('security', [SettingsController::class, 'getSecurity'])->name('settings.security.index');
|
||||
Route::post('security', [SettingsController::class, 'postSecurity'])->name('settings.security.save');
|
||||
|
||||
Route::get('groups', [GroupsController::class, 'index'])->name('settings.groups.index');
|
||||
|
||||
Route::get('localization', [SettingsController::class, 'getLocalization'])->name('settings.localization.index');
|
||||
Route::post('localization', [SettingsController::class, 'postLocalization'])->name('settings.localization.save');
|
||||
|
||||
Route::get('notifications', [SettingsController::class, 'getAlerts'])->name('settings.alerts.index');
|
||||
Route::post('notifications', [SettingsController::class, 'postAlerts'])->name('settings.alerts.save');
|
||||
|
||||
Route::get('slack', [SettingsController::class, 'getSlack'])->name('settings.slack.index');
|
||||
Route::post('slack', [SettingsController::class, 'postSlack'])->name('settings.slack.save');
|
||||
|
||||
Route::get('asset_tags', [SettingsController::class, 'getAssetTags'])->name('settings.asset_tags.index');
|
||||
Route::post('asset_tags', [SettingsController::class, 'postAssetTags'])->name('settings.asset_tags.save');
|
||||
|
||||
Route::get('barcodes', [SettingsController::class, 'getBarcodes'])->name('settings.barcodes.index');
|
||||
Route::post('barcodes', [SettingsController::class, 'postBarcodes'])->name('settings.barcodes.save');
|
||||
|
||||
Route::get('labels', [SettingsController::class, 'getLabels'])->name('settings.labels.index');
|
||||
Route::post('labels', [SettingsController::class, 'postLabels'])->name('settings.labels.save');
|
||||
|
||||
Route::get('ldap', [SettingsController::class, 'getLdapSettings'])->name('settings.ldap.index');
|
||||
Route::post('ldap', [SettingsController::class, 'postLdapSettings'])->name('settings.ldap.save');
|
||||
|
||||
Route::get('phpinfo', [SettingsController::class, 'getPhpInfo'])->name('settings.phpinfo.index');
|
||||
|
||||
Route::get('oauth', [SettingsController::class, 'api'])->name('settings.oauth.index');
|
||||
|
||||
Route::get('google', [SettingsController::class, 'getGoogleLoginSettings'])->name('settings.google.index');
|
||||
Route::post('google', [SettingsController::class, 'postGoogleLoginSettings'])->name('settings.google.save');
|
||||
|
||||
Route::get('purge', [SettingsController::class, 'getPurge'])->name('settings.purge.index');
|
||||
Route::post('purge', [SettingsController::class, 'postPurge'])->name('settings.purge.save');
|
||||
|
||||
Route::get('login-attempts', [SettingsController::class, 'getLoginAttempts'])->name('settings.logins.index');
|
||||
|
||||
// Backups
|
||||
Route::group(['prefix' => 'backups', 'middleware' => 'auth'], function () {
|
||||
Route::get('download/{filename}',
|
||||
[SettingsController::class, 'downloadFile'])->name('settings.backups.download');
|
||||
|
||||
Route::delete('delete/{filename}',
|
||||
[SettingsController::class, 'deleteFile'])->name('settings.backups.destroy');
|
||||
|
||||
Route::post('/',
|
||||
[SettingsController::class, 'postBackups']
|
||||
)->name('settings.backups.create');
|
||||
|
||||
Route::post('/restore/{filename}',
|
||||
[SettingsController::class, 'postRestore']
|
||||
)->name('settings.backups.restore');
|
||||
|
||||
Route::post('/upload',
|
||||
[SettingsController::class, 'postUploadBackup']
|
||||
)->name('settings.backups.upload');
|
||||
|
||||
// Handle redirect from after POST request from backup restore
|
||||
Route::get('/restore/{filename?}', function () {
|
||||
return redirect(route('settings.backups.index'));
|
||||
});
|
||||
|
||||
Route::get('/', [SettingsController::class, 'getBackups'])->name('settings.backups.index');
|
||||
});
|
||||
|
||||
Route::resource('groups', GroupsController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['group' => 'group_id'],
|
||||
]);
|
||||
|
||||
Route::get('/', [SettingsController::class, 'index'])->name('settings.index');
|
||||
});
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Importer Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
|
|
||||
|
|
||||
*/
|
||||
|
||||
Route::get('/import',
|
||||
\App\Http\Livewire\Importer::class
|
||||
)->middleware('auth')->name('imports.index');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Account Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
|
|
||||
|
|
||||
*/
|
||||
Route::group(['prefix' => 'account', 'middleware' => ['auth']], function () {
|
||||
|
||||
// Profile
|
||||
Route::get('profile', [ProfileController::class, 'getIndex'])->name('profile');
|
||||
Route::post('profile', [ProfileController::class, 'postIndex']);
|
||||
|
||||
Route::get('menu', [ProfileController::class, 'getMenuState'])->name('account.menuprefs');
|
||||
|
||||
Route::get('password', [ProfileController::class, 'password'])->name('account.password.index');
|
||||
Route::post('password', [ProfileController::class, 'passwordSave']);
|
||||
|
||||
Route::get('api', [ProfileController::class, 'api'])->name('user.api');
|
||||
|
||||
// View Assets
|
||||
Route::get('view-assets', [ViewAssetsController::class, 'getIndex'])->name('view-assets');
|
||||
|
||||
Route::get('requested', [ViewAssetsController::class, 'getRequestedAssets'])->name('account.requested');
|
||||
|
||||
// Profile
|
||||
Route::get(
|
||||
'requestable-assets',
|
||||
[ViewAssetsController::class, 'getRequestableIndex']
|
||||
)->name('requestable-assets');
|
||||
Route::post(
|
||||
'request-asset/{assetId}',
|
||||
[ViewAssetsController::class, 'getRequestAsset']
|
||||
)->name('account/request-asset');
|
||||
|
||||
Route::post(
|
||||
'request/{itemType}/{itemId}/{cancel_by_admin?}/{requestingUser?}',
|
||||
[ViewAssetsController::class, 'getRequestItem']
|
||||
)->name('account/request-item');
|
||||
|
||||
// Account Dashboard
|
||||
Route::get('/', [ViewAssetsController::class, 'getIndex'])->name('account');
|
||||
|
||||
Route::get('accept', [Account\AcceptanceController::class, 'index'])
|
||||
->name('account.accept');
|
||||
|
||||
Route::get('accept/{id}', [Account\AcceptanceController::class, 'create'])
|
||||
->name('account.accept.item');
|
||||
|
||||
Route::post('accept/{id}', [Account\AcceptanceController::class, 'store'])
|
||||
->name('account.store-acceptance');
|
||||
|
||||
Route::get(
|
||||
'print',
|
||||
[
|
||||
ProfileController::class,
|
||||
'printInventory'
|
||||
]
|
||||
)->name('profile.print');
|
||||
|
||||
Route::post(
|
||||
'email',
|
||||
[
|
||||
ProfileController::class,
|
||||
'emailAssetList'
|
||||
]
|
||||
)->name('profile.email_assets');
|
||||
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['auth']], function () {
|
||||
Route::get('reports/audit',
|
||||
[ReportsController::class, 'audit']
|
||||
)->name('reports.audit');
|
||||
|
||||
Route::get(
|
||||
'reports/depreciation',
|
||||
[ReportsController::class, 'getDeprecationReport']
|
||||
)->name('reports/depreciation');
|
||||
Route::get(
|
||||
'reports/export/depreciation',
|
||||
[ReportsController::class, 'exportDeprecationReport']
|
||||
)->name('reports/export/depreciation');
|
||||
Route::get(
|
||||
'reports/asset_maintenances',
|
||||
[ReportsController::class, 'getAssetMaintenancesReport']
|
||||
)->name('reports/asset_maintenances');
|
||||
Route::get(
|
||||
'reports/export/asset_maintenances',
|
||||
[ReportsController::class, 'exportAssetMaintenancesReport']
|
||||
)->name('reports/export/asset_maintenances');
|
||||
Route::get(
|
||||
'reports/licenses',
|
||||
[ReportsController::class, 'getLicenseReport']
|
||||
)->name('reports/licenses');
|
||||
Route::get(
|
||||
'reports/export/licenses',
|
||||
[ReportsController::class, 'exportLicenseReport']
|
||||
)->name('reports/export/licenses');
|
||||
|
||||
Route::get('reports/accessories', [ReportsController::class, 'getAccessoryReport'])->name('reports/accessories');
|
||||
Route::get(
|
||||
'reports/export/accessories',
|
||||
[ReportsController::class, 'exportAccessoryReport']
|
||||
)->name('reports/export/accessories');
|
||||
Route::get('reports/custom', [ReportsController::class, 'getCustomReport'])->name('reports/custom');
|
||||
Route::post('reports/custom', [ReportsController::class, 'postCustom']);
|
||||
|
||||
Route::get(
|
||||
'reports/activity',
|
||||
[ReportsController::class, 'getActivityReport']
|
||||
)->name('reports.activity');
|
||||
|
||||
Route::post('reports/activity', [ReportsController::class, 'postActivityReport']);
|
||||
|
||||
Route::get(
|
||||
'reports/unaccepted_assets/{deleted?}',
|
||||
[ReportsController::class, 'getAssetAcceptanceReport']
|
||||
)->name('reports/unaccepted_assets');
|
||||
Route::post(
|
||||
'reports/unaccepted_assets/sent_reminder',
|
||||
[ReportsController::class, 'sentAssetAcceptanceReminder']
|
||||
)->name('reports/unaccepted_assets_sent_reminder');
|
||||
Route::delete(
|
||||
'reports/unaccepted_assets/{acceptanceId}/delete',
|
||||
[ReportsController::class, 'deleteAssetAcceptance']
|
||||
)->name('reports/unaccepted_assets_delete');
|
||||
Route::post(
|
||||
'reports/unaccepted_assets/{deleted?}',
|
||||
[ReportsController::class, 'postAssetAcceptanceReport']
|
||||
)->name('reports/export/unaccepted_assets');
|
||||
});
|
||||
|
||||
Route::get(
|
||||
'auth/signin',
|
||||
[LoginController::class, 'legacyAuthRedirect']
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Setup Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
|
|
||||
|
|
||||
*/
|
||||
Route::group(['prefix' => 'setup', 'middleware' => 'web'], function () {
|
||||
Route::get(
|
||||
'user',
|
||||
[SettingsController::class, 'getSetupUser']
|
||||
)->name('setup.user');
|
||||
|
||||
Route::post(
|
||||
'user',
|
||||
[SettingsController::class, 'postSaveFirstAdmin']
|
||||
)->name('setup.user.save');
|
||||
|
||||
|
||||
Route::get(
|
||||
'migrate',
|
||||
[SettingsController::class, 'getSetupMigrate']
|
||||
)->name('setup.migrate');
|
||||
|
||||
Route::get(
|
||||
'done',
|
||||
[SettingsController::class, 'getSetupDone']
|
||||
)->name('setup.done');
|
||||
|
||||
Route::get(
|
||||
'mailtest',
|
||||
[SettingsController::class, 'ajaxTestEmail']
|
||||
)->name('setup.mailtest');
|
||||
|
||||
Route::get(
|
||||
'/',
|
||||
[SettingsController::class, 'getSetupIndex']
|
||||
)->name('setup');
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Route::group(['middleware' => 'web'], function () {
|
||||
|
||||
Route::get(
|
||||
'login',
|
||||
[LoginController::class, 'showLoginForm']
|
||||
)->name("login");
|
||||
|
||||
Route::post(
|
||||
'login',
|
||||
[LoginController::class, 'login']
|
||||
);
|
||||
|
||||
Route::get(
|
||||
'two-factor-enroll',
|
||||
[LoginController::class, 'getTwoFactorEnroll']
|
||||
)->name('two-factor-enroll');
|
||||
|
||||
Route::get(
|
||||
'two-factor',
|
||||
[LoginController::class, 'getTwoFactorAuth']
|
||||
)->name('two-factor');
|
||||
|
||||
Route::post(
|
||||
'two-factor',
|
||||
[LoginController::class, 'postTwoFactorAuth']
|
||||
);
|
||||
|
||||
Route::post(
|
||||
'password/email',
|
||||
[ForgotPasswordController::class, 'sendResetLinkEmail']
|
||||
)->name('password.email')->middleware('throttle:forgotten_password');
|
||||
|
||||
Route::get(
|
||||
'password/reset',
|
||||
[ForgotPasswordController::class, 'showLinkRequestForm']
|
||||
)->name('password.request')->middleware('throttle:forgotten_password');
|
||||
|
||||
|
||||
Route::post(
|
||||
'password/reset',
|
||||
[ResetPasswordController::class, 'reset']
|
||||
)->name('password.update')->middleware('throttle:forgotten_password');
|
||||
|
||||
Route::get(
|
||||
'password/reset/{token}',
|
||||
[ResetPasswordController::class, 'showResetForm']
|
||||
)->name('password.reset');
|
||||
|
||||
|
||||
Route::post(
|
||||
'password/email',
|
||||
[ForgotPasswordController::class, 'sendResetLinkEmail']
|
||||
)->name('password.email')->middleware('throttle:forgotten_password');
|
||||
|
||||
|
||||
// Socialite Google login
|
||||
Route::get('google', 'App\Http\Controllers\GoogleAuthController@redirectToGoogle')->name('google.redirect');
|
||||
Route::get('google/callback', 'App\Http\Controllers\GoogleAuthController@handleGoogleCallback')->name('google.callback');
|
||||
|
||||
|
||||
Route::get(
|
||||
'/',
|
||||
[
|
||||
'as' => 'home',
|
||||
'middleware' => ['auth'],
|
||||
'uses' => 'DashboardController@getIndex' ]
|
||||
);
|
||||
|
||||
// need to keep GET /logout for SAML SLO
|
||||
Route::get(
|
||||
'logout',
|
||||
[LoginController::class, 'logout']
|
||||
)->name('logout.get');
|
||||
|
||||
Route::post(
|
||||
'logout',
|
||||
[LoginController::class, 'logout']
|
||||
)->name('logout.post');
|
||||
});
|
||||
|
||||
//Auth::routes();
|
||||
|
||||
Route::get(
|
||||
'/health',
|
||||
[HealthController::class, 'get']
|
||||
)->name('health');
|
||||
|
||||
Route::middleware(['auth'])->get(
|
||||
'/',
|
||||
[DashboardController::class, 'index']
|
||||
)->name('home');
|
58
SNIPE-IT/routes/web/accessories.php
Normal file
58
SNIPE-IT/routes/web/accessories.php
Normal file
@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Accessories;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
* Accessories
|
||||
*/
|
||||
Route::group(['prefix' => 'accessories', 'middleware' => ['auth']], function () {
|
||||
Route::get(
|
||||
'{accessoryID}/checkout',
|
||||
[Accessories\AccessoryCheckoutController::class, 'create']
|
||||
)->name('accessories.checkout.show');
|
||||
|
||||
Route::post(
|
||||
'{accessoryID}/checkout',
|
||||
[Accessories\AccessoryCheckoutController::class, 'store']
|
||||
)->name('accessories.checkout.store');
|
||||
|
||||
Route::get(
|
||||
'{accessoryID}/checkin/{backto?}',
|
||||
[Accessories\AccessoryCheckinController::class, 'create']
|
||||
)->name('accessories.checkin.show');
|
||||
|
||||
Route::post(
|
||||
'{accessoryID}/checkin/{backto?}',
|
||||
[Accessories\AccessoryCheckinController::class, 'store']
|
||||
)->name('accessories.checkin.store');
|
||||
|
||||
Route::post(
|
||||
'{accessoryId}/upload',
|
||||
[Accessories\AccessoriesFilesController::class, 'store']
|
||||
)->name('upload/accessory');
|
||||
|
||||
Route::delete(
|
||||
'{accessoryId}/deletefile/{fileId}',
|
||||
[Accessories\AccessoriesFilesController::class, 'destroy']
|
||||
)->name('delete/accessoryfile');
|
||||
|
||||
Route::get(
|
||||
'{accessoryId}/showfile/{fileId}/{download?}',
|
||||
[Accessories\AccessoriesFilesController::class, 'show']
|
||||
)->name('show.accessoryfile');
|
||||
|
||||
Route::get('{accessoryId}/clone',
|
||||
[Accessories\AccessoriesController::class, 'getClone']
|
||||
)->name('clone/accessories');
|
||||
|
||||
Route::post('{accessoryId}/clone',
|
||||
[Accessories\AccessoriesController::class, 'postCreate']
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
Route::resource('accessories', Accessories\AccessoriesController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['accessory' => 'accessory_id'],
|
||||
]);
|
48
SNIPE-IT/routes/web/components.php
Normal file
48
SNIPE-IT/routes/web/components.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Components;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Components
|
||||
Route::group(['prefix' => 'components', 'middleware' => ['auth']], function () {
|
||||
Route::get(
|
||||
'{componentID}/checkout',
|
||||
[Components\ComponentCheckoutController::class, 'create']
|
||||
)->name('components.checkout.show');
|
||||
|
||||
Route::post(
|
||||
'{componentID}/checkout',
|
||||
[Components\ComponentCheckoutController::class, 'store']
|
||||
)->name('components.checkout.store');
|
||||
|
||||
Route::get(
|
||||
'{componentID}/checkin/{backto?}',
|
||||
[Components\ComponentCheckinController::class, 'create']
|
||||
)->name('components.checkin.show');
|
||||
|
||||
Route::post(
|
||||
'{componentID}/checkin/{backto?}',
|
||||
[Components\ComponentCheckinController::class, 'store']
|
||||
)->name('components.checkin.store');
|
||||
|
||||
Route::post(
|
||||
'{componentId}/upload',
|
||||
[Components\ComponentsFilesController::class, 'store']
|
||||
)->name('upload/component');
|
||||
|
||||
Route::delete(
|
||||
'{componentId}/deletefile/{fileId}',
|
||||
[Components\ComponentsFilesController::class, 'destroy']
|
||||
)->name('delete/componentfile');
|
||||
|
||||
Route::get(
|
||||
'{componentId}/showfile/{fileId}/{download?}',
|
||||
[Components\ComponentsFilesController::class, 'show']
|
||||
)->name('show.componentfile');
|
||||
|
||||
});
|
||||
|
||||
Route::resource('components', Components\ComponentsController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['component' => 'component_id'],
|
||||
]);
|
40
SNIPE-IT/routes/web/consumables.php
Normal file
40
SNIPE-IT/routes/web/consumables.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Consumables;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
||||
|
||||
Route::group(['prefix' => 'consumables', 'middleware' => ['auth']], function () {
|
||||
Route::get(
|
||||
'{consumablesID}/checkout',
|
||||
[Consumables\ConsumableCheckoutController::class, 'create']
|
||||
)->name('consumables.checkout.show');
|
||||
|
||||
Route::post(
|
||||
'{consumablesID}/checkout',
|
||||
[Consumables\ConsumableCheckoutController::class, 'store']
|
||||
)->name('consumables.checkout.store');
|
||||
|
||||
Route::post(
|
||||
'{consumableId}/upload',
|
||||
[Consumables\ConsumablesFilesController::class, 'store']
|
||||
)->name('upload/consumable');
|
||||
|
||||
Route::delete(
|
||||
'{consumableId}/deletefile/{fileId}',
|
||||
[Consumables\ConsumablesFilesController::class, 'destroy']
|
||||
)->name('delete/consumablefile');
|
||||
|
||||
Route::get(
|
||||
'{consumableId}/showfile/{fileId}/{download?}',
|
||||
[Consumables\ConsumablesFilesController::class, 'show']
|
||||
)->name('show.consumablefile');
|
||||
|
||||
|
||||
});
|
||||
|
||||
Route::resource('consumables', Consumables\ConsumablesController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['consumable' => 'consumable_id'],
|
||||
]);
|
46
SNIPE-IT/routes/web/fields.php
Normal file
46
SNIPE-IT/routes/web/fields.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\CustomFieldsController;
|
||||
use App\Http\Controllers\CustomFieldsetsController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
* Custom Fields Routes
|
||||
*/
|
||||
|
||||
|
||||
|
||||
Route::group([ 'prefix' => 'fields','middleware' => ['auth'] ], function () {
|
||||
|
||||
Route::post(
|
||||
'required/{fieldset_id}/{field_id}',
|
||||
[CustomFieldsetsController::class, 'makeFieldRequired']
|
||||
)->name('fields.required');
|
||||
|
||||
Route::post(
|
||||
'optional/{fieldset_id}/{field_id}',
|
||||
[CustomFieldsetsController::class, 'makeFieldOptional']
|
||||
)->name('fields.optional');
|
||||
|
||||
Route::post(
|
||||
'{field_id}/fieldset/{fieldset_id}/disassociate',
|
||||
[CustomFieldsController::class, 'deleteFieldFromFieldset']
|
||||
)->name('fields.disassociate');
|
||||
|
||||
Route::post(
|
||||
'fieldsets/{id}/associate',
|
||||
[CustomFieldsetsController::class, 'associate']
|
||||
)->name('fieldsets.associate');
|
||||
|
||||
Route::resource('fieldsets', CustomFieldsetsController::class, [
|
||||
'parameters' => ['fieldset' => 'field_id', 'field' => 'field_id']
|
||||
]);
|
||||
|
||||
|
||||
});
|
||||
|
||||
Route::resource('fields', CustomFieldsController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['field' => 'field_id', 'fieldset' => 'fieldset_id'],
|
||||
]);
|
||||
|
198
SNIPE-IT/routes/web/hardware.php
Normal file
198
SNIPE-IT/routes/web/hardware.php
Normal file
@ -0,0 +1,198 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\AssetMaintenancesController;
|
||||
use App\Http\Controllers\Assets\AssetsController;
|
||||
use App\Http\Controllers\Assets\BulkAssetsController;
|
||||
use App\Http\Controllers\Assets\AssetCheckoutController;
|
||||
use App\Http\Controllers\Assets\AssetCheckinController;
|
||||
use App\Http\Controllers\Assets\AssetFilesController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Asset Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Register all the asset routes.
|
||||
|
|
||||
*/
|
||||
Route::group(
|
||||
[
|
||||
'prefix' => 'hardware',
|
||||
'middleware' => ['auth'],
|
||||
],
|
||||
|
||||
function () {
|
||||
|
||||
Route::get('bulkaudit',
|
||||
[AssetsController::class, 'quickScan']
|
||||
)->name('assets.bulkaudit');
|
||||
|
||||
Route::get('quickscancheckin',
|
||||
[AssetsController::class, 'quickScanCheckin']
|
||||
)->name('hardware/quickscancheckin');
|
||||
|
||||
// Asset Maintenances
|
||||
Route::resource('maintenances',
|
||||
AssetMaintenancesController::class, [
|
||||
'parameters' => ['maintenance' => 'maintenance_id', 'asset' => 'asset_id'],
|
||||
]);
|
||||
|
||||
Route::get('requested', [
|
||||
AssetsController::class, 'getRequestedIndex']
|
||||
)->name('assets.requested');
|
||||
|
||||
Route::get('scan',
|
||||
[AssetsController::class, 'scan']
|
||||
)->name('asset.scan');
|
||||
|
||||
Route::get('audit/due',
|
||||
[AssetsController::class, 'dueForAudit']
|
||||
)->name('assets.audit.due');
|
||||
|
||||
Route::get('audit/overdue',
|
||||
[AssetsController::class, 'overdueForAudit']
|
||||
)->name('assets.audit.overdue');
|
||||
|
||||
Route::get('audit/due',
|
||||
[AssetsController::class, 'dueForAudit']
|
||||
)->name('assets.audit.due');
|
||||
|
||||
Route::get('audit/overdue',
|
||||
[AssetsController::class, 'overdueForAudit']
|
||||
)->name('assets.audit.overdue');
|
||||
|
||||
Route::get('audit/due',
|
||||
[AssetsController::class, 'dueForAudit']
|
||||
)->name('assets.audit.due');
|
||||
|
||||
Route::get('audit/overdue',
|
||||
[AssetsController::class, 'overdueForAudit']
|
||||
)->name('assets.audit.overdue');
|
||||
|
||||
Route::get('audit/{id}',
|
||||
[AssetsController::class, 'audit']
|
||||
)->name('asset.audit.create');
|
||||
|
||||
Route::post('audit/{id}',
|
||||
[AssetsController::class, 'auditStore']
|
||||
)->name('asset.audit.store');
|
||||
|
||||
Route::get('history',
|
||||
[AssetsController::class, 'getImportHistory']
|
||||
)->name('asset.import-history');
|
||||
|
||||
Route::post('history',
|
||||
[AssetsController::class, 'postImportHistory']
|
||||
)->name('asset.process-import-history');
|
||||
|
||||
Route::get('bytag/{any?}',
|
||||
[AssetsController::class, 'getAssetByTag']
|
||||
)->where('any', '.*')->name('findbytag/hardware');
|
||||
|
||||
Route::get('byserial/{any?}',
|
||||
[AssetsController::class, 'getAssetBySerial']
|
||||
)->where('any', '.*')->name('findbyserial/hardware');
|
||||
|
||||
Route::get('{assetId}/clone',
|
||||
[AssetsController::class, 'getClone']
|
||||
)->name('clone/hardware');
|
||||
|
||||
Route::get('{assetId}/label',
|
||||
[AssetsController::class, 'getLabel']
|
||||
)->name('label/hardware');
|
||||
|
||||
Route::post('{assetId}/clone',
|
||||
[AssetsController::class, 'postCreate']
|
||||
);
|
||||
|
||||
Route::get('{assetId}/checkout',
|
||||
[AssetCheckoutController::class, 'create']
|
||||
)->name('hardware.checkout.create');
|
||||
|
||||
Route::post('{assetId}/checkout',
|
||||
[AssetCheckoutController::class, 'store']
|
||||
)->name('hardware.checkout.store');
|
||||
|
||||
Route::get('{assetId}/checkin/{backto?}',
|
||||
[AssetCheckinController::class, 'create']
|
||||
)->name('hardware.checkin.create');
|
||||
|
||||
Route::post('{assetId}/checkin/{backto?}',
|
||||
[AssetCheckinController::class, 'store']
|
||||
)->name('hardware.checkin.store');
|
||||
|
||||
// Redirect old legacy /asset_id/view urls to the resource route version
|
||||
Route::get('{assetId}/view', function ($assetId) {
|
||||
return redirect()->route('hardware.show', ['hardware' => $assetId]);
|
||||
});
|
||||
|
||||
Route::get('{assetId}/qr_code',
|
||||
[AssetsController::class, 'getQrCode']
|
||||
)->name('qr_code/hardware');
|
||||
|
||||
Route::get('{assetId}/barcode',
|
||||
[AssetsController::class, 'getBarCode']
|
||||
)->name('barcode/hardware');
|
||||
|
||||
Route::post('{assetId}/restore',
|
||||
[AssetsController::class, 'getRestore']
|
||||
)->name('restore/hardware');
|
||||
|
||||
Route::post('{assetId}/upload',
|
||||
[AssetFilesController::class, 'store']
|
||||
)->name('upload/asset');
|
||||
|
||||
Route::get('{assetId}/showfile/{fileId}/{download?}',
|
||||
[AssetFilesController::class, 'show']
|
||||
)->name('show/assetfile');
|
||||
|
||||
Route::delete('{assetId}/showfile/{fileId}/delete',
|
||||
[AssetFilesController::class, 'destroy']
|
||||
)->name('delete/assetfile');
|
||||
|
||||
Route::post(
|
||||
'bulkedit',
|
||||
[BulkAssetsController::class, 'edit']
|
||||
)->name('hardware/bulkedit');
|
||||
|
||||
Route::post(
|
||||
'bulkdelete',
|
||||
[BulkAssetsController::class, 'destroy']
|
||||
)->name('hardware/bulkdelete');
|
||||
|
||||
Route::post(
|
||||
'bulkrestore',
|
||||
[BulkAssetsController::class, 'restore']
|
||||
)->name('hardware/bulkrestore');
|
||||
|
||||
Route::post(
|
||||
'bulksave',
|
||||
[BulkAssetsController::class, 'update']
|
||||
)->name('hardware/bulksave');
|
||||
|
||||
// Bulk checkout / checkin
|
||||
Route::get('bulkcheckout',
|
||||
[BulkAssetsController::class, 'showCheckout']
|
||||
)->name('hardware.bulkcheckout.show');
|
||||
|
||||
Route::post('bulkcheckout',
|
||||
[BulkAssetsController::class, 'storeCheckout']
|
||||
)->name('hardware.bulkcheckout.store');
|
||||
|
||||
});
|
||||
|
||||
Route::resource('hardware',
|
||||
AssetsController::class,
|
||||
[
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['asset' => 'asset_id',
|
||||
'names' => [
|
||||
'show' => 'view',
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
Route::get('ht/{any?}',
|
||||
[AssetsController::class, 'getAssetByTag']
|
||||
)->where('any', '.*')->name('ht/assetTag');
|
80
SNIPE-IT/routes/web/kits.php
Normal file
80
SNIPE-IT/routes/web/kits.php
Normal file
@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Kits;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Predefined Kit Management
|
||||
Route::resource('kits', Kits\PredefinedKitsController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['kit' => 'kit_id'],
|
||||
]);
|
||||
|
||||
Route::group(['prefix' => 'kits/{kit_id}', 'middleware' => ['auth']], function () {
|
||||
|
||||
// Route::get('licenses',
|
||||
// [Kits\PredefinedKitsController::class, 'indexLicenses']
|
||||
// )->name('kits.licenses.index');
|
||||
|
||||
Route::post('licenses',
|
||||
[Kits\PredefinedKitsController::class, 'storeLicense']
|
||||
)->name('kits.licenses.store');
|
||||
|
||||
Route::put('licenses/{license_id}',
|
||||
[Kits\PredefinedKitsController::class, 'updateLicense']
|
||||
)->name('kits.licenses.update');
|
||||
|
||||
Route::get('licenses/{license_id}/edit',
|
||||
[Kits\PredefinedKitsController::class, 'editLicense']
|
||||
)->name('kits.licenses.edit');
|
||||
|
||||
Route::delete('licenses/{license_id}',
|
||||
[Kits\PredefinedKitsController::class, 'detachLicense']
|
||||
)->name('kits.licenses.detach');
|
||||
|
||||
// Models
|
||||
|
||||
Route::put('models/{model_id}',
|
||||
[Kits\PredefinedKitsController::class, 'updateModel']
|
||||
)/* ->parameters([2 => 'kit_id', 1 => 'model_id'])*/->name('kits.models.update');
|
||||
|
||||
Route::get('models/{model_id}/edit',
|
||||
[Kits\PredefinedKitsController::class, 'editModel']
|
||||
)->name('kits.models.edit');
|
||||
|
||||
Route::delete('models/{model_id}',
|
||||
[Kits\PredefinedKitsController::class, 'detachModel']
|
||||
)->name('kits.models.detach');
|
||||
|
||||
// Consumables
|
||||
Route::put('consumables/{consumable_id}',
|
||||
[Kits\PredefinedKitsController::class, 'updateConsumable']
|
||||
)/*->parameters([2 => 'kit_id', 1 => 'consumable_id'])*/->name('kits.consumables.update');
|
||||
|
||||
Route::get('consumables/{consumable_id}/edit',
|
||||
[Kits\PredefinedKitsController::class, 'editConsumable']
|
||||
)->name('kits.consumables.edit');
|
||||
|
||||
Route::delete('consumables/{consumable_id}',
|
||||
[Kits\PredefinedKitsController::class, 'detachConsumable']
|
||||
)->name('kits.consumables.detach');
|
||||
|
||||
// Accessories
|
||||
Route::put('accessories/{accessory_id}',
|
||||
[Kits\PredefinedKitsController::class, 'updateAccessory']
|
||||
)/*->parameters([2 => 'kit_id', 1 => 'accessory_id'])*/->name('kits.accessories.update');
|
||||
|
||||
Route::get('accessories/{accessory_id}/edit',
|
||||
[Kits\PredefinedKitsController::class, 'editAccessory']
|
||||
)->name('kits.accessories.edit');
|
||||
|
||||
Route::delete('accessories/{accessory_id}',
|
||||
[Kits\PredefinedKitsController::class, 'detachAccessory']
|
||||
)->name('kits.accessories.detach');
|
||||
Route::get('checkout',
|
||||
[Kits\CheckoutKitController::class, 'showCheckout']
|
||||
)->name('kits.checkout.show');
|
||||
|
||||
Route::post('checkout',
|
||||
[Kits\CheckoutKitController::class, 'store']
|
||||
)->name('kits.checkout.store');
|
||||
}); // kits
|
56
SNIPE-IT/routes/web/licenses.php
Normal file
56
SNIPE-IT/routes/web/licenses.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Licenses;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Licenses
|
||||
Route::group(['prefix' => 'licenses', 'middleware' => ['auth']], function () {
|
||||
Route::get('{licenseId}/clone', [Licenses\LicensesController::class, 'getClone'])->name('clone/license');
|
||||
|
||||
Route::get('{licenseId}/freecheckout',
|
||||
[Licenses\LicensesController::class, 'getFreeLicense']
|
||||
)->name('licenses.freecheckout');
|
||||
Route::get('{licenseId}/checkout/{seatId?}',
|
||||
[Licenses\LicenseCheckoutController::class, 'create']
|
||||
)->name('licenses.checkout');
|
||||
Route::post(
|
||||
'{licenseId}/checkout/{seatId?}',
|
||||
[Licenses\LicenseCheckoutController::class, 'store']
|
||||
); //name() would duplicate here, so we skip it.
|
||||
Route::get('{licenseSeatId}/checkin/{backto?}',
|
||||
[Licenses\LicenseCheckinController::class, 'create']
|
||||
)->name('licenses.checkin');
|
||||
|
||||
Route::post('{licenseId}/checkin/{backto?}',
|
||||
[Licenses\LicenseCheckinController::class, 'store']
|
||||
)->name('licenses.checkin.save');
|
||||
|
||||
Route::post(
|
||||
'{licenseId}/bulkcheckin',
|
||||
[Licenses\LicenseCheckinController::class, 'bulkCheckin']
|
||||
)->name('licenses.bulkcheckin');
|
||||
|
||||
Route::post(
|
||||
'{licenseId}/bulkcheckout',
|
||||
[Licenses\LicenseCheckoutController::class, 'bulkCheckout']
|
||||
)->name('licenses.bulkcheckout');
|
||||
|
||||
Route::post(
|
||||
'{licenseId}/upload',
|
||||
[Licenses\LicenseFilesController::class, 'store']
|
||||
)->name('upload/license');
|
||||
|
||||
Route::delete(
|
||||
'{licenseId}/deletefile/{fileId}',
|
||||
[Licenses\LicenseFilesController::class, 'destroy']
|
||||
)->name('delete/licensefile');
|
||||
Route::get(
|
||||
'{licenseId}/showfile/{fileId}/{download?}',
|
||||
[Licenses\LicenseFilesController::class, 'show']
|
||||
)->name('show.licensefile');
|
||||
});
|
||||
|
||||
Route::resource('licenses', Licenses\LicensesController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['license' => 'license_id'],
|
||||
]);
|
96
SNIPE-IT/routes/web/models.php
Normal file
96
SNIPE-IT/routes/web/models.php
Normal file
@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\AssetModelsController;
|
||||
use App\Http\Controllers\AssetModelsFilesController;
|
||||
use App\Http\Controllers\BulkAssetModelsController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Asset Model Management
|
||||
|
||||
|
||||
Route::group(['prefix' => 'models', 'middleware' => ['auth']], function () {
|
||||
|
||||
Route::post('{modelID}/upload',
|
||||
[AssetModelsFilesController::class, 'store']
|
||||
)->name('upload/models');
|
||||
|
||||
Route::get('{modelID}/showfile/{fileId}/{download?}',
|
||||
[AssetModelsFilesController::class, 'show']
|
||||
)->name('show/modelfile');
|
||||
|
||||
Route::delete('{modelID}/showfile/{fileId}/delete',
|
||||
[AssetModelsFilesController::class, 'destroy']
|
||||
)->name('delete/modelfile');
|
||||
|
||||
Route::get(
|
||||
'{modelId}/clone',
|
||||
[
|
||||
AssetModelsController::class,
|
||||
'getClone'
|
||||
]
|
||||
)->name('models.clone.create');
|
||||
|
||||
Route::post(
|
||||
'{modelId}/clone',
|
||||
[
|
||||
AssetModelsController::class,
|
||||
'postCreate'
|
||||
]
|
||||
)->name('models.clone.store');
|
||||
|
||||
Route::get(
|
||||
'{modelId}/view',
|
||||
[
|
||||
AssetModelsController::class,
|
||||
'getView'
|
||||
]
|
||||
)->name('view/model');
|
||||
|
||||
Route::post(
|
||||
'{modelID}/restore',
|
||||
[
|
||||
AssetModelsController::class,
|
||||
'getRestore'
|
||||
]
|
||||
)->name('models.restore.store');
|
||||
|
||||
Route::get(
|
||||
'{modelId}/custom_fields',
|
||||
[
|
||||
AssetModelsController::class,
|
||||
'getCustomFields'
|
||||
]
|
||||
)->name('custom_fields/model');
|
||||
|
||||
Route::post(
|
||||
'bulkedit',
|
||||
[
|
||||
BulkAssetModelsController::class,
|
||||
'edit'
|
||||
]
|
||||
)->name('models.bulkedit.index');
|
||||
|
||||
Route::post(
|
||||
'bulksave',
|
||||
[
|
||||
BulkAssetModelsController::class,
|
||||
'update'
|
||||
]
|
||||
)->name('models.bulkedit.store');
|
||||
|
||||
Route::post(
|
||||
'bulkdelete',
|
||||
[
|
||||
BulkAssetModelsController::class,
|
||||
'destroy'
|
||||
]
|
||||
)->name('models.bulkdelete.store');
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
Route::resource('models', AssetModelsController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['model' => 'model_id'],
|
||||
]);
|
154
SNIPE-IT/routes/web/users.php
Normal file
154
SNIPE-IT/routes/web/users.php
Normal file
@ -0,0 +1,154 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Users;
|
||||
use App\Http\Controllers\Users\UserFilesController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// User Management
|
||||
|
||||
Route::group(['prefix' => 'users', 'middleware' => ['auth']], function () {
|
||||
|
||||
Route::get(
|
||||
'ldap',
|
||||
[
|
||||
Users\LDAPImportController::class,
|
||||
'create'
|
||||
]
|
||||
)->name('ldap/user');
|
||||
|
||||
Route::post(
|
||||
'ldap',
|
||||
[
|
||||
Users\LDAPImportController::class,
|
||||
'store'
|
||||
]
|
||||
);
|
||||
|
||||
Route::get(
|
||||
'export',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'getExportUserCsv'
|
||||
]
|
||||
)->name('users.export');
|
||||
|
||||
Route::get(
|
||||
'{userId}/clone',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'getClone'
|
||||
]
|
||||
)->name('users.clone.show');
|
||||
|
||||
Route::post(
|
||||
'{userId}/clone',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'postCreate'
|
||||
]
|
||||
)->name('users.clone.store');
|
||||
|
||||
Route::post(
|
||||
'{userId}/restore',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'getRestore'
|
||||
]
|
||||
)->name('users.restore.store');
|
||||
|
||||
Route::get(
|
||||
'{userId}/unsuspend',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'getUnsuspend'
|
||||
]
|
||||
)->name('unsuspend/user');
|
||||
|
||||
Route::post(
|
||||
'{userId}/upload',
|
||||
[
|
||||
Users\UserFilesController::class,
|
||||
'store'
|
||||
]
|
||||
)->name('upload/user');
|
||||
|
||||
Route::delete(
|
||||
'{userId}/deletefile/{fileId}',
|
||||
[
|
||||
Users\UserFilesController::class,
|
||||
'destroy'
|
||||
]
|
||||
)->name('userfile.destroy');
|
||||
|
||||
Route::get(
|
||||
'{userId}/showfile/{fileId}',
|
||||
[
|
||||
Users\UserFilesController::class,
|
||||
'show'
|
||||
]
|
||||
)->name('show/userfile');
|
||||
|
||||
Route::post(
|
||||
'{userId}/password',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'sendPasswordReset'
|
||||
]
|
||||
)->name('users.password');
|
||||
|
||||
Route::get(
|
||||
'{userId}/print',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'printInventory'
|
||||
]
|
||||
)->name('users.print');
|
||||
|
||||
Route::post(
|
||||
'{userId}/email',
|
||||
[
|
||||
Users\UsersController::class,
|
||||
'emailAssetList'
|
||||
]
|
||||
)->name('users.email');
|
||||
|
||||
Route::post(
|
||||
'bulkedit',
|
||||
[
|
||||
Users\BulkUsersController::class,
|
||||
'edit'
|
||||
]
|
||||
)->name('users/bulkedit');
|
||||
|
||||
Route::post(
|
||||
'merge',
|
||||
[
|
||||
Users\BulkUsersController::class,
|
||||
'merge'
|
||||
]
|
||||
)->name('users.merge.save');
|
||||
|
||||
|
||||
Route::post(
|
||||
'bulksave',
|
||||
[
|
||||
Users\BulkUsersController::class,
|
||||
'destroy'
|
||||
]
|
||||
)->name('users/bulksave');
|
||||
|
||||
Route::post(
|
||||
'bulkeditsave',
|
||||
[
|
||||
Users\BulkUsersController::class,
|
||||
'update'
|
||||
]
|
||||
)->name('users/bulkeditsave');
|
||||
|
||||
|
||||
});
|
||||
|
||||
Route::resource('users', Users\UsersController::class, [
|
||||
'middleware' => ['auth'],
|
||||
'parameters' => ['user' => 'user_id'],
|
||||
]);
|
Reference in New Issue
Block a user