diff --git a/app/Database/seeds/permissions.yml b/app/Database/seeds/permissions.yml index f6304354..a1fd89f6 100644 --- a/app/Database/seeds/permissions.yml +++ b/app/Database/seeds/permissions.yml @@ -39,3 +39,6 @@ - name: settings display_name: Settings description: Edit VA settings +- name: maintenance + display_name: Maintenance + description: Run maintenance tasks diff --git a/app/Http/Controllers/Admin/MaintenanceController.php b/app/Http/Controllers/Admin/MaintenanceController.php new file mode 100644 index 00000000..94d3c638 --- /dev/null +++ b/app/Http/Controllers/Admin/MaintenanceController.php @@ -0,0 +1,52 @@ +get('type'); + + // When clearing the application, clear the config and the app itself + if ($type === 'application' || $type === 'all') { + $calls[] = 'config:cache'; + $calls[] = 'cache:clear'; + $calls[] = 'route:cache'; + } + + // If we want to clear only the views but keep everything else + if ($type === 'views' || $type === 'all') { + $calls[] = 'view:clear'; + } + + foreach ($calls as $call) { + Artisan::call($call); + } + + Flash::success('Cache cleared!'); + return redirect(route('admin.maintenance.index')); + } +} diff --git a/app/Http/Routes/admin.php b/app/Http/Routes/admin.php index 766dbddf..a736e996 100644 --- a/app/Http/Routes/admin.php +++ b/app/Http/Routes/admin.php @@ -71,6 +71,10 @@ Route::group([ Route::match(['get'], 'settings', 'SettingsController@index'); Route::match(['post', 'put'], 'settings', 'SettingsController@update')->name('settings.update'); + // maintenance + Route::match(['get'], 'maintenance', 'MaintenanceController@index')->name('maintenance.index'); + Route::match(['post'], 'maintenance', 'MaintenanceController@cache')->name('maintenance.cache'); + // subfleet Route::get('subfleets/export', 'SubfleetController@export')->name('subfleets.export'); Route::match(['get', 'post'], 'subfleets/import', 'SubfleetController@import')->name('subfleets.import'); diff --git a/resources/views/admin/aircraft/fields.blade.php b/resources/views/admin/aircraft/fields.blade.php index ad9c014e..95b634e5 100644 --- a/resources/views/admin/aircraft/fields.blade.php +++ b/resources/views/admin/aircraft/fields.blade.php @@ -30,7 +30,6 @@ - diff --git a/resources/views/admin/maintenance/caches.blade.php b/resources/views/admin/maintenance/caches.blade.php new file mode 100644 index 00000000..ecf893b8 --- /dev/null +++ b/resources/views/admin/maintenance/caches.blade.php @@ -0,0 +1,29 @@ +