routes.php
Go to the documentation of this file.
1 <?php
4 
5 /*
6 |--------------------------------------------------------------------------
7 | Admin API Routes
8 |--------------------------------------------------------------------------
9 */
10 Route::group([ 'prefix' => 'api', 'middleware' => 'auth' ], function () {
11 
12  /*---Hardware API---*/
13  Route::group([ 'prefix' => 'hardware','middleware' => ['web','auth','authorize:hardware']], function () {
14 
15  Route::get('list/{status?}', [ 'as' => 'api.hardware.list', 'uses' => 'AssetsController@getDatatable' ]);
16 
17  Route::post('import', 'AssetsController@postAPIImportUpload');
18  });
19 
20  /*---Status Label API---*/
21  Route::group([ 'prefix' => 'statuslabels' ,'middleware' => ['web','auth','authorize:admin']], function () {
22 
23  Route::resource('/', 'StatuslabelsController');
24  Route::get('{statuslabelId}/deployable', function ($statuslabelId) {
25 
26  $statuslabel = Statuslabel::find($statuslabelId);
27  if (( $statuslabel->deployable == '1' ) && ( $statuslabel->pending != '1' )
28  && ( $statuslabel->archived != '1' )
29  ) {
30  return '1';
31  } else {
32  return '0';
33  }
34 
35  });
36 
37  Route::get('list', [ 'as' => 'api.statuslabels.list', 'uses' => 'StatuslabelsController@getDatatable' ]);
38 
39  });
40 
41  /*---Accessories API---*/
42  Route::group([ 'prefix' => 'accessories' ], function () {
43 
44  Route::get('list', [ 'as' => 'api.accessories.list', 'uses' => 'AccessoriesController@getDatatable' ]);
45  Route::get(
46  '{accessoryID}/view',
47  [ 'as' => 'api.accessories.view', 'uses' => 'AccessoriesController@getDataView' ]
48  );
49  });
50 
51  /*---Consumables API---*/
52  Route::group(array('prefix'=>'consumables'), function () {
53  Route::get('list', array('as'=>'api.consumables.list', 'uses'=>'ConsumablesController@getDatatable'));
54  Route::get('{consumableID}/view', array('as'=>'api.consumables.view', 'uses'=>'ConsumablesController@getDataView'));
55  });
56 
57  /*---Components API---*/
58  Route::group(array('prefix'=>'components'), function () {
59  Route::get('list', array('as'=>'api.components.list', 'uses'=>'ComponentsController@getDatatable'));
60  Route::get('{componentID}/view', array('as'=>'api.components.view', 'uses'=>'ComponentsController@getDataView'));
61  });
62 
63  /*---Locations API---*/
64  Route::group(array('prefix'=>'locations'), function () {
65  Route::get('list', array('as'=>'api.locations.list', 'uses'=>'LocationsController@getDatatable'));
66  Route::get('{locationID}/view', array('as'=>'api.locations.view', 'uses'=>'LocationsController@getDataView'));
67  Route::get('{locationID}/users', array('as'=>'api.locations.viewusers', 'uses'=>'LocationsController@getDataViewUsers'));
68  Route::get('{locationID}/assets', array('as'=>'api.locations.viewassets', 'uses'=>'LocationsController@getDataViewAssets'));
69  });
70 
71  /*---Depreciations API---*/
72  Route::group(array('prefix'=>'depreciations'), function () {
73  Route::get('list', array('as'=>'api.depreciations.list', 'uses'=>'DepreciationsController@getDatatable'));
74  Route::get('{$depreciationID}/view', array('as'=>'api.depreciations.view', 'uses'=>'DepreciationsController@getDataView'));
75  });
76 
77  /*---Manufacturers API---*/
78  Route::group(array('prefix'=>'manufacturers'), function () {
79  Route::get('list', array('as'=>'api.manufacturers.list', 'uses'=>'ManufacturersController@getDatatable'));
80  Route::get('{manufacturerID}/view', array('as'=>'api.manufacturers.view', 'uses'=>'ManufacturersController@getDataView'));
81  });
82 
83  /*---Suppliers API---*/
84  Route::group(array('prefix'=>'suppliers'), function () {
85  Route::get('list', array('as'=>'api.suppliers.list', 'uses'=>'SuppliersController@getDatatable'));
86  });
87 
88  /*---Users API---*/
89  Route::group([ 'prefix' => 'users' ], function () {
90  Route::post('/', [ 'as' => 'api.users.store', 'uses' => 'UsersController@store' ]);
91  Route::get('list/{status?}', [ 'as' => 'api.users.list', 'uses' => 'UsersController@getDatatable' ]);
92  Route::get('{userId}/assets', [ 'as' => 'api.users.assetlist', 'uses' => 'UsersController@getAssetList' ]);
93  Route::post('{userId}/upload', [ 'as' => 'upload/user', 'uses' => 'UsersController@postUpload' ]);
94  });
95 
96  /*---Groups API---*/
97  Route::group([ 'prefix' => 'groups' ], function () {
98  Route::get('list', [ 'as' => 'api.groups.list', 'uses' => 'GroupsController@getDatatable' ]);
99  });
100 
101  /*---Licenses API---*/
102  Route::group([ 'prefix' => 'licenses' ], function () {
103 
104  Route::get('list', [ 'as' => 'api.licenses.list', 'uses' => 'LicensesController@getDatatable' ]);
105  });
106 
107  /*---Locations API---*/
108  Route::group([ 'prefix' => 'locations' ], function () {
109 
110  Route::resource('/', 'LocationsController');
111  Route::get('{locationID}/check', function ($locationID) {
112 
113  $location = Location::find($locationID);
114 
115  return $location;
116  });
117  });
118 
119  /*---Improvements API---*/
120  Route::group([ 'prefix' => 'asset_maintenances' ], function () {
121 
122  Route::get(
123  'list',
124  [ 'as' => 'api.asset_maintenances.list', 'uses' => 'AssetMaintenancesController@getDatatable' ]
125  );
126  });
127 
128  /*---Models API---*/
129  Route::group([ 'prefix' => 'models' ], function () {
130 
131  Route::resource('/', 'AssetModelsController');
132  Route::get('list/{status?}', [ 'as' => 'api.models.list', 'uses' => 'AssetModelsController@getDatatable' ]);
133  Route::get('{modelID}/view', [ 'as' => 'api.models.view', 'uses' => 'AssetModelsController@getDataView' ]);
134  });
135 
136  /*--- Categories API---*/
137  Route::group([ 'prefix' => 'categories' ], function () {
138 
139  Route::get('list', [ 'as' => 'api.categories.list', 'uses' => 'CategoriesController@getDatatable' ]);
140  Route::get(
141  '{categoryID}/view',
142  [ 'as' => 'api.categories.view', 'uses' => 'CategoriesController@getDataView' ]
143  );
144  });
145 
146  /*-- Suppliers API (mostly for creating new ones in-line while creating an asset) --*/
147  Route::group([ 'prefix' => 'suppliers' ], function () {
148 
149  Route::resource('/', 'SuppliersController');
150  });
151 });
152 
153 /*
154 |--------------------------------------------------------------------------
155 | Asset Routes
156 |--------------------------------------------------------------------------
157 |
158 | Register all the asset routes.
159 |
160 */
161 
162 Route::group(
163  [ 'prefix' => 'hardware',
164  'middleware' => ['web',
165  'auth',
166  'authorize:hardware']],
167  function () {
168 
169  Route::get('create/{model?}', [
170  'as' => 'create/hardware',
171  'uses' => 'AssetsController@getCreate'
172  ]);
173 
174  Route::post('create', [
175  'as' => 'savenew/hardware',
176  'uses' => 'AssetsController@postCreate'
177  ]);
178 
179  Route::get('{assetId}/edit', [
180  'as' => 'update/hardware',
181  'uses' => 'AssetsController@getEdit'
182  ]);
183 
184  Route::get('{assetId}/clone', [ 'as' => 'clone/hardware', 'uses' => 'AssetsController@getClone' ]);
185  Route::post('{assetId}/clone', 'AssetsController@postCreate');
186  Route::get('{assetId}/delete', [ 'as' => 'delete/hardware', 'uses' => 'AssetsController@getDelete' ]);
187  Route::get(
188  '{assetId}/checkout',
189  [ 'as' => 'checkout/hardware', 'uses' => 'AssetsController@getCheckout' ]
190  );
191  Route::post('{assetId}/checkout', 'AssetsController@postCheckout');
192  Route::get(
193  '{assetId}/checkin/{backto?}',
194  [ 'as' => 'checkin/hardware', 'uses' => 'AssetsController@getCheckin' ]
195  );
196  Route::post('{assetId}/checkin/{backto?}', 'AssetsController@postCheckin');
197  Route::get('{assetId}/view', [ 'as' => 'view/hardware', 'uses' => 'AssetsController@getView' ]);
198  Route::get('{assetId}/qr-view', [ 'as' => 'qr-view/hardware', 'uses' => 'AssetsController@getView' ]);
199  Route::get('{assetId}/qr_code', [ 'as' => 'qr_code/hardware', 'uses' => 'AssetsController@getQrCode' ]);
200  Route::get('{assetId}/restore', [ 'as' => 'restore/hardware', 'uses' => 'AssetsController@getRestore' ]);
201  Route::post('{assetId}/upload', [ 'as' => 'upload/asset', 'uses' => 'AssetsController@postUpload' ]);
202  Route::get(
203  '{assetId}/deletefile/{fileId}',
204  [ 'as' => 'delete/assetfile', 'uses' => 'AssetsController@getDeleteFile' ]
205  );
206  Route::get(
207  '{assetId}/showfile/{fileId}',
208  [ 'as' => 'show/assetfile', 'uses' => 'AssetsController@displayFile' ]
209  );
210 
211  Route::get(
212  'import/delete-import/{filename}',
213  [ 'as' => 'assets/import/delete-file', 'uses' => 'AssetsController@getDeleteImportFile' ]
214  );
215 
216  Route::get(
217  'import/process/{filename}',
218  [ 'as' => 'assets/import/process-file', 'uses' => 'AssetsController@getProcessImportFile' ]
219  );
220 
221  Route::get(
222  'import',
223  [ 'as' => 'assets/import', 'uses' => 'AssetsController@getImportUpload' ]
224  );
225 
226 
227  Route::post('{assetId}/edit', 'AssetsController@postEdit');
228 
229  Route::post(
230  'bulkedit',
231  [
232  'as' => 'hardware/bulkedit',
233  'uses' => 'AssetsController@postBulkEdit'
234  ]
235  );
236  Route::post(
237  'bulkdelete',
238  [
239  'as' => 'hardware/bulkdelete',
240  'uses' => 'AssetsController@postBulkDelete'
241  ]
242  );
243  Route::post(
244  'bulksave',
245  [
246  'as' => 'hardware/bulksave',
247  'uses' => 'AssetsController@postBulkSave'
248  ]
249  );
250 
251  # Asset Model Management
252  Route::group([ 'prefix' => 'models', 'middleware' => 'auth' ], function () {
253 
254  Route::get('/', [ 'as' => 'models', 'uses' => 'AssetModelsController@getIndex' ]);
255  Route::get('create', [ 'as' => 'create/model', 'uses' => 'AssetModelsController@getCreate' ]);
256  Route::post('create', 'AssetModelsController@postCreate');
257  Route::get('{modelId}/edit', [ 'as' => 'update/model', 'uses' => 'AssetModelsController@getEdit' ]);
258  Route::post('{modelId}/edit', 'AssetModelsController@postEdit');
259  Route::get('{modelId}/clone', [ 'as' => 'clone/model', 'uses' => 'AssetModelsController@getClone' ]);
260  Route::post('{modelId}/clone', 'AssetModelsController@postCreate');
261  Route::get('{modelId}/delete', [ 'as' => 'delete/model', 'uses' => 'AssetModelsController@getDelete' ]);
262  Route::get('{modelId}/view', [ 'as' => 'view/model', 'uses' => 'AssetModelsController@getView' ]);
263  Route::get('{modelID}/restore', [ 'as' => 'restore/model', 'uses' => 'AssetModelsController@getRestore' ]);
264  Route::get('{modelId}/custom_fields', ['as' => 'custom_fields/model','uses' => 'AssetModelsController@getCustomFields']);
265  });
266 
267  Route::get('/', [
268  'as' => 'hardware',
269  'uses' => 'AssetsController@getIndex'
270  ]);
271 
272  }
273 );
274 
275 /*
276 |--------------------------------------------------------------------------
277 | Admin Routes
278 |--------------------------------------------------------------------------
279 |
280 | Register all the admin routes.
281 |
282 */
283 
284 Route::group([ 'prefix' => 'admin','middleware' => ['web','auth','authorize:admin']], function () {
285 
286  # Licenses
287  Route::group([ 'prefix' => 'licenses' ], function () {
288 
289  Route::get('create', [ 'as' => 'create/licenses', 'uses' => 'LicensesController@getCreate' ]);
290  Route::post('create', 'LicensesController@postCreate');
291  Route::get('{licenseId}/edit', [ 'as' => 'update/license', 'uses' => 'LicensesController@getEdit' ]);
292  Route::post('{licenseId}/edit', 'LicensesController@postEdit');
293  Route::get('{licenseId}/clone', [ 'as' => 'clone/license', 'uses' => 'LicensesController@getClone' ]);
294  Route::post('{licenseId}/clone', 'LicensesController@postCreate');
295  Route::get('{licenseId}/delete', [ 'as' => 'delete/license', 'uses' => 'LicensesController@getDelete' ]);
296  Route::get(
297  '{licenseId}/freecheckout',
298  [ 'as' => 'freecheckout/license', 'uses' => 'LicensesController@getFreeLicense' ]
299  );
300  Route::get(
301  '{licenseId}/checkout',
302  [ 'as' => 'checkout/license', 'uses' => 'LicensesController@getCheckout' ]
303  );
304  Route::post('{licenseId}/checkout', 'LicensesController@postCheckout');
305  Route::get(
306  '{licenseId}/checkin/{backto?}',
307  [ 'as' => 'checkin/license', 'uses' => 'LicensesController@getCheckin' ]
308  );
309  Route::post('{licenseId}/checkin/{backto?}', 'LicensesController@postCheckin');
310  Route::get('{licenseId}/view', [ 'as' => 'view/license', 'uses' => 'LicensesController@getView' ]);
311  Route::post(
312  '{licenseId}/upload',
313  [ 'as' => 'upload/license', 'uses' => 'LicensesController@postUpload' ]
314  );
315  Route::get(
316  '{licenseId}/deletefile/{fileId}',
317  [ 'as' => 'delete/licensefile', 'uses' => 'LicensesController@getDeleteFile' ]
318  );
319  Route::get(
320  '{licenseId}/showfile/{fileId}',
321  [ 'as' => 'show/licensefile', 'uses' => 'LicensesController@displayFile' ]
322  );
323  Route::get('/', [ 'as' => 'licenses', 'uses' => 'LicensesController@getIndex' ]);
324  });
325 
326  # Asset Maintenances
327  Route::group([ 'prefix' => 'asset_maintenances' ], function () {
328 
329  Route::get(
330  'create/{assetId?}',
331  [ 'as' => 'create/asset_maintenances', 'uses' => 'AssetMaintenancesController@getCreate' ]
332  );
333  Route::post('create/{assetId?}', 'AssetMaintenancesController@postCreate');
334  Route::get('/', [ 'as' => 'asset_maintenances', 'uses' => 'AssetMaintenancesController@getIndex' ]);
335  Route::get(
336  '{assetMaintenanceId}/edit',
337  [ 'as' => 'update/asset_maintenance', 'uses' => 'AssetMaintenancesController@getEdit' ]
338  );
339  Route::post('{assetMaintenanceId}/edit', 'AssetMaintenancesController@postEdit');
340  Route::get(
341  '{assetMaintenanceId}/delete',
342  [ 'as' => 'delete/asset_maintenance', 'uses' => 'AssetMaintenancesController@getDelete' ]
343  );
344  Route::get(
345  '{assetMaintenanceId}/view',
346  [ 'as' => 'view/asset_maintenance', 'uses' => 'AssetMaintenancesController@getView' ]
347  );
348  });
349 
350  # Accessories
351  Route::group([ 'prefix' => 'accessories' ], function () {
352 
353  Route::get('create', [ 'as' => 'create/accessory', 'uses' => 'AccessoriesController@getCreate' ]);
354  Route::post('create', 'AccessoriesController@postCreate');
355  Route::get(
356  '{accessoryID}/edit',
357  [ 'as' => 'update/accessory', 'uses' => 'AccessoriesController@getEdit' ]
358  );
359  Route::post('{accessoryID}/edit', 'AccessoriesController@postEdit');
360  Route::get(
361  '{accessoryID}/delete',
362  [ 'as' => 'delete/accessory', 'uses' => 'AccessoriesController@getDelete' ]
363  );
364  Route::get('{accessoryID}/view', [ 'as' => 'view/accessory', 'uses' => 'AccessoriesController@getView' ]);
365  Route::get(
366  '{accessoryID}/checkout',
367  [ 'as' => 'checkout/accessory', 'uses' => 'AccessoriesController@getCheckout' ]
368  );
369  Route::post('{accessoryID}/checkout', 'AccessoriesController@postCheckout');
370  Route::get(
371  '{accessoryID}/checkin/{backto?}',
372  [ 'as' => 'checkin/accessory', 'uses' => 'AccessoriesController@getCheckin' ]
373  );
374  Route::post('{accessoryID}/checkin/{backto?}', 'AccessoriesController@postCheckin');
375 
376  Route::get('/', [ 'as' => 'accessories', 'uses' => 'AccessoriesController@getIndex' ]);
377  });
378 
379  # Consumables
380  Route::group([ 'prefix' => 'consumables' ], function () {
381 
382  Route::get('create', [ 'as' => 'create/consumable', 'uses' => 'ConsumablesController@getCreate' ]);
383  Route::post('create', 'ConsumablesController@postCreate');
384  Route::get(
385  '{consumableID}/edit',
386  [ 'as' => 'update/consumable', 'uses' => 'ConsumablesController@getEdit' ]
387  );
388  Route::post('{consumableID}/edit', 'ConsumablesController@postEdit');
389  Route::get(
390  '{consumableID}/delete',
391  [ 'as' => 'delete/consumable', 'uses' => 'ConsumablesController@getDelete' ]
392  );
393  Route::get(
394  '{consumableID}/view',
395  [ 'as' => 'view/consumable', 'uses' => 'ConsumablesController@getView' ]
396  );
397  Route::get(
398  '{consumableID}/checkout',
399  [ 'as' => 'checkout/consumable', 'uses' => 'ConsumablesController@getCheckout' ]
400  );
401  Route::post('{consumableID}/checkout', 'ConsumablesController@postCheckout');
402  Route::get('/', [ 'as' => 'consumables', 'uses' => 'ConsumablesController@getIndex' ]);
403  });
404 
405  # Components
406  Route::group([ 'prefix' => 'components' ], function () {
407 
408  Route::get('create', [ 'as' => 'create/component', 'uses' => 'ComponentsController@getCreate' ]);
409  Route::post('create', 'ComponentsController@postCreate');
410  Route::get(
411  '{componentID}/edit',
412  [ 'as' => 'update/component', 'uses' => 'ComponentsController@getEdit' ]
413  );
414  Route::post('{componentID}/edit', 'ComponentsController@postEdit');
415  Route::get(
416  '{componentID}/delete',
417  [ 'as' => 'delete/component', 'uses' => 'ComponentsController@getDelete' ]
418  );
419  Route::get(
420  '{componentID}/view',
421  [ 'as' => 'view/component', 'uses' => 'ComponentsController@getView' ]
422  );
423  Route::get(
424  '{componentID}/checkout',
425  [ 'as' => 'checkout/component', 'uses' => 'ComponentsController@getCheckout' ]
426  );
427  Route::post('{componentID}/checkout', 'ComponentsController@postCheckout');
428  Route::post('bulk', [ 'as' => 'component/bulk-form', 'uses' => 'ComponentsController@postBulk' ]);
429  Route::post('bulksave', [ 'as' => 'component/bulk-save', 'uses' => 'ComponentsController@postBulkSave' ]);
430  Route::get('/', [ 'as' => 'components', 'uses' => 'ComponentsController@getIndex' ]);
431  });
432 
433  # Admin Settings Routes (for categories, maufactureres, etc)
434  Route::group([ 'prefix' => 'settings'], function () {
435 
436  # Settings
437  Route::group([ 'prefix' => 'app' ], function () {
438 
439  Route::get('/', [ 'as' => 'app', 'uses' => 'SettingsController@getIndex' ]);
440  Route::get('edit', [ 'as' => 'edit/settings', 'uses' => 'SettingsController@getEdit' ]);
441  Route::post('edit', 'SettingsController@postEdit');
442  });
443 
444  # Settings
445  Route::group([ 'prefix' => 'backups', 'middleware' => 'auth' ], function () {
446 
447 
448  Route::get('download/{filename}', [
449  'as' => 'settings/download-file',
450  'uses' => 'SettingsController@downloadFile' ]);
451 
452  Route::get('delete/{filename}', [
453  'as' => 'settings/delete-file',
454  'uses' => 'SettingsController@deleteFile' ]);
455 
456  Route::post('/', [
457  'as' => 'settings/backups',
458  'uses' => 'SettingsController@postBackups'
459  ]);
460  Route::get('/', [ 'as' => 'settings/backups', 'uses' => 'SettingsController@getBackups' ]);
461  });
462 
463  # Companies
464  Route::group([ 'prefix' => 'companies' ], function () {
465 
466  Route::get('{companyId}/edit', ['as' => 'update/company', 'uses' => 'CompaniesController@getEdit']);
467  Route::get('create', ['as' => 'create/company', 'uses' => 'CompaniesController@getCreate']);
468  Route::get('/', ['as' => 'companies', 'uses' => 'CompaniesController@getIndex']);
469 
470  Route::post('{companyId}/delete', ['as' => 'delete/company', 'uses' => 'CompaniesController@postDelete']);
471  Route::post('{companyId}/edit', 'CompaniesController@postEdit');
472  Route::post('create', 'CompaniesController@postCreate');
473  });
474 
475  # Manufacturers
476  Route::group([ 'prefix' => 'manufacturers' ], function () {
477 
478  Route::get('/', [ 'as' => 'manufacturers', 'uses' => 'ManufacturersController@getIndex' ]);
479  Route::get(
480  'create',
481  [ 'as' => 'create/manufacturer', 'uses' => 'ManufacturersController@getCreate' ]
482  );
483  Route::post('create', 'ManufacturersController@postCreate');
484  Route::get(
485  '{manufacturerId}/edit',
486  [ 'as' => 'update/manufacturer', 'uses' => 'ManufacturersController@getEdit' ]
487  );
488  Route::post('{manufacturerId}/edit', 'ManufacturersController@postEdit');
489  Route::get(
490  '{manufacturerId}/delete',
491  [ 'as' => 'delete/manufacturer', 'uses' => 'ManufacturersController@getDelete' ]
492  );
493  Route::get(
494  '{manufacturerId}/view',
495  [ 'as' => 'view/manufacturer', 'uses' => 'ManufacturersController@getView' ]
496  );
497  });
498 
499  # Suppliers
500  Route::group([ 'prefix' => 'suppliers' ], function () {
501 
502  Route::get('/', [ 'as' => 'suppliers', 'uses' => 'SuppliersController@getIndex' ]);
503  Route::get('create', [ 'as' => 'create/supplier', 'uses' => 'SuppliersController@getCreate' ]);
504  Route::post('create', 'SuppliersController@postCreate');
505  Route::get(
506  '{supplierId}/edit',
507  [ 'as' => 'update/supplier', 'uses' => 'SuppliersController@getEdit' ]
508  );
509  Route::post('{supplierId}/edit', 'SuppliersController@postEdit');
510  Route::get(
511  '{supplierId}/delete',
512  [ 'as' => 'delete/supplier', 'uses' => 'SuppliersController@getDelete' ]
513  );
514  Route::get('{supplierId}/view', [ 'as' => 'view/supplier', 'uses' => 'SuppliersController@getView' ]);
515  });
516 
517  # Categories
518  Route::group([ 'prefix' => 'categories' ], function () {
519 
520  Route::get('create', [ 'as' => 'create/category', 'uses' => 'CategoriesController@getCreate' ]);
521  Route::post('create', 'CategoriesController@postCreate');
522  Route::get(
523  '{categoryId}/edit',
524  [ 'as' => 'update/category', 'uses' => 'CategoriesController@getEdit' ]
525  );
526  Route::post('{categoryId}/edit', 'CategoriesController@postEdit');
527  Route::get(
528  '{categoryId}/delete',
529  [ 'as' => 'delete/category', 'uses' => 'CategoriesController@getDelete' ]
530  );
531  Route::get(
532  '{categoryId}/view',
533  [ 'as' => 'view/category', 'uses' => 'CategoriesController@getView' ]
534  );
535  Route::get('/', [ 'as' => 'categories', 'uses' => 'CategoriesController@getIndex' ]);
536  });
537 
538  # Depreciations
539  Route::group([ 'prefix' => 'depreciations' ], function () {
540 
541  Route::get('/', [ 'as' => 'depreciations', 'uses' => 'DepreciationsController@getIndex' ]);
542  Route::get(
543  'create',
544  [ 'as' => 'create/depreciations', 'uses' => 'DepreciationsController@getCreate' ]
545  );
546  Route::post('create', 'DepreciationsController@postCreate');
547  Route::get(
548  '{depreciationId}/edit',
549  [ 'as' => 'update/depreciations', 'uses' => 'DepreciationsController@getEdit' ]
550  );
551  Route::post('{depreciationId}/edit', 'DepreciationsController@postEdit');
552  Route::get(
553  '{depreciationId}/delete',
554  [ 'as' => 'delete/depreciations', 'uses' => 'DepreciationsController@getDelete' ]
555  );
556  });
557 
558  # Locations
559  Route::group([ 'prefix' => 'locations' ], function () {
560 
561  Route::get('/', [ 'as' => 'locations', 'uses' => 'LocationsController@getIndex' ]);
562  Route::get('create', [ 'as' => 'create/location', 'uses' => 'LocationsController@getCreate' ]);
563  Route::post('create', 'LocationsController@postCreate');
564  Route::get(
565  '{locationId}/edit',
566  [ 'as' => 'update/location', 'uses' => 'LocationsController@getEdit' ]
567  );
568  Route::post('{locationId}/edit', 'LocationsController@postEdit');
569  Route::get('{locationId}/view', 'LocationsController@getView');
570  Route::get(
571  '{locationId}/delete',
572  [ 'as' => 'delete/location', 'uses' => 'LocationsController@getDelete' ]
573  );
574  });
575 
576  # Status Labels
577  Route::group([ 'prefix' => 'statuslabels' ], function () {
578 
579  Route::get('/', [ 'as' => 'statuslabels', 'uses' => 'StatuslabelsController@getIndex' ]);
580  Route::get('create', [ 'as' => 'create/statuslabel', 'uses' => 'StatuslabelsController@getCreate' ]);
581  Route::post('create', 'StatuslabelsController@postCreate');
582  Route::get(
583  '{statuslabelId}/edit',
584  [ 'as' => 'update/statuslabel', 'uses' => 'StatuslabelsController@getEdit' ]
585  );
586  Route::post('{statuslabelId}/edit', 'StatuslabelsController@postEdit');
587  Route::get(
588  '{statuslabelId}/delete',
589  [ 'as' => 'delete/statuslabel', 'uses' => 'StatuslabelsController@getDelete' ]
590  );
591  });
592 
593  });
594 
595  # Custom fields support
596  Route::get('custom_fields/create-field', ['uses' =>'CustomFieldsController@createField','as' => 'admin.custom_fields.create-field']);
597  Route::post('custom_fields/create-field', ['uses' => 'CustomFieldsController@storeField','as' => 'admin.custom_fields.store-field']);
598  Route::post('custom_fields/{id}/associate', ['uses' => 'CustomFieldsController@associate','as' => 'admin.custom_fields.associate']);
599  Route::match(['DELETE'], 'custom_fields/delete-field/{id}', ['uses' => 'CustomFieldsController@deleteField','as' => 'admin.custom_fields.delete-field']);
600  Route::resource('custom_fields', 'CustomFieldsController');
601 
602  # User Management
603  Route::group([ 'prefix' => 'users' ], function () {
604 
605  Route::get('ldap', ['as' => 'ldap/user', 'uses' => 'UsersController@getLDAP' ]);
606  Route::post('ldap', 'UsersController@postLDAP');
607 
608  Route::get('create', [ 'as' => 'create/user', 'uses' => 'UsersController@getCreate' ]);
609  Route::post('create', 'UsersController@postCreate');
610  Route::get('import', [ 'as' => 'import/user', 'uses' => 'UsersController@getImport' ]);
611  Route::post('import', 'UsersController@postImport');
612  Route::get('{userId}/edit', [ 'as' => 'update/user', 'uses' => 'UsersController@getEdit' ]);
613  Route::post('{userId}/edit', 'UsersController@postEdit');
614  Route::get('{userId}/clone', [ 'as' => 'clone/user', 'uses' => 'UsersController@getClone' ]);
615  Route::post('{userId}/clone', 'UsersController@postCreate');
616  Route::get('{userId}/delete', [ 'as' => 'delete/user', 'uses' => 'UsersController@getDelete' ]);
617  Route::get('{userId}/restore', [ 'as' => 'restore/user', 'uses' => 'UsersController@getRestore' ]);
618  Route::get('{userId}/view', [ 'as' => 'view/user', 'uses' => 'UsersController@getView' ]);
619  Route::get('{userId}/unsuspend', [ 'as' => 'unsuspend/user', 'uses' => 'UsersController@getUnsuspend' ]);
620  Route::get(
621  '{userId}/deletefile/{fileId}',
622  [ 'as' => 'delete/userfile', 'uses' => 'UsersController@getDeleteFile' ]
623  );
624  Route::get(
625  '{userId}/showfile/{fileId}',
626  [ 'as' => 'show/userfile', 'uses' => 'UsersController@displayFile' ]
627  );
628 
629  Route::post(
630  'bulkedit',
631  [
632  'as' => 'users/bulkedit',
633  'uses' => 'UsersController@postBulkEdit'
634  ]
635  );
636  Route::post(
637  'bulksave',
638  [
639  'as' => 'users/bulksave',
640  'uses' => 'UsersController@postBulkSave'
641  ]
642  );
643 
644  Route::get('/', [ 'as' => 'users', 'uses' => 'UsersController@getIndex' ]);
645 
646  });
647 
648  # Group Management
649  Route::group([ 'prefix' => 'groups' ], function () {
650 
651  Route::get('/', [ 'as' => 'groups', 'uses' => 'GroupsController@getIndex' ]);
652  Route::get('create', [ 'as' => 'create/group', 'uses' => 'GroupsController@getCreate' ]);
653  Route::post('create', 'GroupsController@postCreate');
654  Route::get('{groupId}/edit', [ 'as' => 'update/group', 'uses' => 'GroupsController@getEdit' ]);
655  Route::post('{groupId}/edit', 'GroupsController@postEdit');
656  Route::get('{groupId}/delete', [ 'as' => 'delete/group', 'uses' => 'GroupsController@getDelete' ]);
657  Route::get('{groupId}/restore', [ 'as' => 'restore/group', 'uses' => 'GroupsController@getRestore' ]);
658  Route::get('{groupId}/view', [ 'as' => 'view/group', 'uses' => 'GroupsController@getView' ]);
659  });
660 
661  # Dashboard
662  Route::get('/', [ 'as' => 'admin', 'uses' => 'DashboardController@getIndex' ]);
663 
664 });
665 
666 /*
667 |--------------------------------------------------------------------------
668 | Account Routes
669 |--------------------------------------------------------------------------
670 |
671 |
672 |
673 */
674 Route::group([ 'prefix' => 'account', 'middleware' => 'auth' ], function () {
675 
676  # Profile
677  Route::get('profile', [ 'as' => 'profile', 'uses' => 'ProfileController@getIndex' ]);
678  Route::post('profile', 'ProfileController@postIndex');
679 
680  # View Assets
681  Route::get('view-assets', [ 'as' => 'view-assets', 'uses' => 'ViewAssetsController@getIndex' ]);
682 
683  # Accept Asset
684  Route::get(
685  'accept-asset/{logID}',
686  [ 'as' => 'account/accept-assets', 'uses' => 'ViewAssetsController@getAcceptAsset' ]
687  );
688  Route::post(
689  'accept-asset/{logID}',
690  [ 'as' => 'account/asset-accepted', 'uses' => 'ViewAssetsController@postAcceptAsset' ]
691  );
692 
693  # Profile
694  Route::get(
695  'requestable-assets',
696  [ 'as' => 'requestable-assets', 'uses' => 'ViewAssetsController@getRequestableIndex' ]
697  );
698  Route::get(
699  'request-asset/{assetId}',
700  [ 'as' => 'account/request-asset', 'uses' => 'ViewAssetsController@getRequestAsset' ]
701  );
702 
703  # Account Dashboard
704  Route::get('/', [ 'as' => 'account', 'uses' => 'ProfileController@getDashboard' ]);
705 
706 });
707 
708 
709 Route::group(['middleware' => ['web','auth','authorize:reports']], function () {
710 
711  Route::get(
712  'reports/depreciation',
713  [ 'as' => 'reports/depreciation', 'uses' => 'ReportsController@getDeprecationReport' ]
714  );
715  Route::get(
716  'reports/export/depreciation',
717  [ 'as' => 'reports/export/depreciation', 'uses' => 'ReportsController@exportDeprecationReport' ]
718  );
719  Route::get(
720  'reports/asset_maintenances',
721  [ 'as' => 'reports/asset_maintenances', 'uses' => 'ReportsController@getAssetMaintenancesReport' ]
722  );
723  Route::get(
724  'reports/export/asset_maintenances',
725  [
726  'as' => 'reports/export/asset_maintenances',
727  'uses' => 'ReportsController@exportAssetMaintenancesReport'
728  ]
729  );
730  Route::get(
731  'reports/licenses',
732  [ 'as' => 'reports/licenses', 'uses' => 'ReportsController@getLicenseReport' ]
733  );
734  Route::get(
735  'reports/export/licenses',
736  [ 'as' => 'reports/export/licenses', 'uses' => 'ReportsController@exportLicenseReport' ]
737  );
738  Route::get('reports/assets', [ 'as' => 'reports/assets', 'uses' => 'ReportsController@getAssetsReport' ]);
739  Route::get(
740  'reports/export/assets',
741  [ 'as' => 'reports/export/assets', 'uses' => 'ReportsController@exportAssetReport' ]
742  );
743  Route::get('reports/accessories', [ 'as' => 'reports/accessories', 'uses' => 'ReportsController@getAccessoryReport' ]);
744  Route::get(
745  'reports/export/accessories',
746  [ 'as' => 'reports/export/accessories', 'uses' => 'ReportsController@exportAccessoryReport' ]
747  );
748  Route::get('reports/custom', [ 'as' => 'reports/custom', 'uses' => 'ReportsController@getCustomReport' ]);
749  Route::post('reports/custom', 'ReportsController@postCustom');
750 
751  Route::get(
752  'reports/activity',
753  [ 'as' => 'reports/activity', 'uses' => 'ReportsController@getActivityReport' ]
754  );
755  Route::get(
756  'reports/unaccepted_assets',
757  [ 'as' => 'reports/unaccepted_assets', 'uses' => 'ReportsController@getAssetAcceptanceReport' ]
758  );
759  Route::get(
760  'reports/export/unaccepted_assets',
761  [ 'as' => 'reports/export/unaccepted_assets', 'uses' => 'ReportsController@exportAssetAcceptanceReport' ]
762  );
763 });
764 
765 
766 /*
767 |--------------------------------------------------------------------------
768 | Setup Routes
769 |--------------------------------------------------------------------------
770 |
771 |
772 |
773 */
774 Route::group([ 'prefix' => 'setup' ], function () {
775  Route::get(
776  'user',
777  [
778  'middleware' => 'web',
779  'as' => 'setup.user',
780  'uses' => 'SettingsController@getSetupUser' ]
781  );
782 
783  Route::post(
784  'user',
785  [
786  'middleware' => 'web',
787  'as' => 'setup.user.save',
788  'uses' => 'SettingsController@postSaveFirstAdmin' ]
789  );
790 
791 
792  Route::get(
793  'migrate',
794  [
795  'middleware' => 'web',
796  'as' => 'setup.migrate',
797  'uses' => 'SettingsController@getSetupMigrate' ]
798  );
799 
800  Route::get(
801  'done',
802  [
803  'middleware' => 'web',
804  'as' => 'setup.done',
805  'uses' => 'SettingsController@getSetupDone' ]
806  );
807 
808  Route::get(
809  'mailtest',
810  [
811  'middleware' => 'web',
812  'as' => 'setup.mailtest',
813  'uses' => 'SettingsController@ajaxTestEmail' ]
814  );
815 
816 
817  Route::get(
818  '/',
819  [
820  'middleware' => 'web',
821  'as' => 'setup',
822  'uses' => 'SettingsController@getSetupIndex' ]
823  );
824 
825 });
826 
827 
828 Route::get(
829  '/',
830  [
831  'as' => 'home',
832  'middleware' => 'auth',
833  'uses' => 'DashboardController@getIndex' ]
834 );
835 
836 Route::group(['middleware' => 'web'], function () {
837  Route::auth();
838 });
839 
840 Route::get('home', function () {
841  return redirect('/');
842 });