From e5f0b4dd85a0088d83cd3f17e60b9697419424a7 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sat, 19 Sep 2020 09:24:58 +0100 Subject: [PATCH] Split out Maintenance to separate controller --- .../Controllers/MaintenanceController.php | 68 +++++++++++++++++++ app/Http/Controllers/SettingController.php | 61 ----------------- routes/web.php | 6 +- 3 files changed, 71 insertions(+), 64 deletions(-) create mode 100644 app/Http/Controllers/MaintenanceController.php diff --git a/app/Http/Controllers/MaintenanceController.php b/app/Http/Controllers/MaintenanceController.php new file mode 100644 index 000000000..664a896b2 --- /dev/null +++ b/app/Http/Controllers/MaintenanceController.php @@ -0,0 +1,68 @@ +checkPermission('settings-manage'); + $this->setPageTitle(trans('settings.maint')); + + // Get application version + $version = trim(file_get_contents(base_path('version'))); + + return view('settings.maintenance', ['version' => $version]); + } + + /** + * Action to clean-up images in the system. + */ + public function cleanupImages(Request $request, ImageService $imageService) + { + $this->checkPermission('settings-manage'); + + $checkRevisions = !($request->get('ignore_revisions', 'false') === 'true'); + $dryRun = !($request->has('confirm')); + + $imagesToDelete = $imageService->deleteUnusedImages($checkRevisions, $dryRun); + $deleteCount = count($imagesToDelete); + if ($deleteCount === 0) { + $this->showWarningNotification(trans('settings.maint_image_cleanup_nothing_found')); + return redirect('/settings/maintenance')->withInput(); + } + + if ($dryRun) { + session()->flash('cleanup-images-warning', trans('settings.maint_image_cleanup_warning', ['count' => $deleteCount])); + } else { + $this->showSuccessNotification(trans('settings.maint_image_cleanup_success', ['count' => $deleteCount])); + } + + return redirect('/settings/maintenance#image-cleanup')->withInput(); + } + + /** + * Action to send a test e-mail to the current user. + */ + public function sendTestEmail() + { + $this->checkPermission('settings-manage'); + + try { + user()->notify(new TestEmail()); + $this->showSuccessNotification(trans('settings.maint_send_test_email_success', ['address' => user()->email])); + } catch (\Exception $exception) { + $errorMessage = trans('errors.maintenance_test_email_failure') . "\n" . $exception->getMessage(); + $this->showErrorNotification($errorMessage); + } + + return redirect('/settings/maintenance#image-cleanup')->withInput(); + } +} diff --git a/app/Http/Controllers/SettingController.php b/app/Http/Controllers/SettingController.php index feb6521f3..50d91d388 100644 --- a/app/Http/Controllers/SettingController.php +++ b/app/Http/Controllers/SettingController.php @@ -1,9 +1,7 @@ get('section', ''); return redirect(rtrim($redirectLocation, '#')); } - - /** - * Show the page for application maintenance. - */ - public function showMaintenance() - { - $this->checkPermission('settings-manage'); - $this->setPageTitle(trans('settings.maint')); - - // Get application version - $version = trim(file_get_contents(base_path('version'))); - - return view('settings.maintenance', ['version' => $version]); - } - - /** - * Action to clean-up images in the system. - */ - public function cleanupImages(Request $request, ImageService $imageService) - { - $this->checkPermission('settings-manage'); - - $checkRevisions = !($request->get('ignore_revisions', 'false') === 'true'); - $dryRun = !($request->has('confirm')); - - $imagesToDelete = $imageService->deleteUnusedImages($checkRevisions, $dryRun); - $deleteCount = count($imagesToDelete); - if ($deleteCount === 0) { - $this->showWarningNotification(trans('settings.maint_image_cleanup_nothing_found')); - return redirect('/settings/maintenance')->withInput(); - } - - if ($dryRun) { - session()->flash('cleanup-images-warning', trans('settings.maint_image_cleanup_warning', ['count' => $deleteCount])); - } else { - $this->showSuccessNotification(trans('settings.maint_image_cleanup_success', ['count' => $deleteCount])); - } - - return redirect('/settings/maintenance#image-cleanup')->withInput(); - } - - /** - * Action to send a test e-mail to the current user. - */ - public function sendTestEmail() - { - $this->checkPermission('settings-manage'); - - try { - user()->notify(new TestEmail()); - $this->showSuccessNotification(trans('settings.maint_send_test_email_success', ['address' => user()->email])); - } catch (\Exception $exception) { - $errorMessage = trans('errors.maintenance_test_email_failure') . "\n" . $exception->getMessage(); - $this->showErrorNotification($errorMessage); - } - - - return redirect('/settings/maintenance#image-cleanup')->withInput(); - } } diff --git a/routes/web.php b/routes/web.php index d962c4324..307c6f516 100644 --- a/routes/web.php +++ b/routes/web.php @@ -162,9 +162,9 @@ Route::group(['middleware' => 'auth'], function () { Route::post('/', 'SettingController@update'); // Maintenance - Route::get('/maintenance', 'SettingController@showMaintenance'); - Route::delete('/maintenance/cleanup-images', 'SettingController@cleanupImages'); - Route::post('/maintenance/send-test-email', 'SettingController@sendTestEmail'); + Route::get('/maintenance', 'MaintenanceController@index'); + Route::delete('/maintenance/cleanup-images', 'MaintenanceController@cleanupImages'); + Route::post('/maintenance/send-test-email', 'MaintenanceController@sendTestEmail'); // Users Route::get('/users', 'UserController@index');