From 620453c1e48c7784b742a584e3118f6f48c66aa1 Mon Sep 17 00:00:00 2001 From: Miguel N Date: Tue, 20 Jul 2021 00:35:03 +0100 Subject: [PATCH] Separation of Concerns + old coude cleanup --- app/Http/Controllers/ApiKeyController.php | 4 +-- app/Http/Controllers/BanController.php | 8 ++--- app/Http/Controllers/CommentController.php | 6 ++-- app/Http/Controllers/ContactController.php | 4 +-- app/Http/Controllers/DevToolsController.php | 6 ++-- app/Http/Controllers/FormController.php | 12 +++---- app/Http/Controllers/OptionsController.php | 12 +++---- app/Http/Controllers/ProfileController.php | 4 +-- app/Http/Controllers/ResponseController.php | 27 -------------- .../SecuritySettingsController.php | 2 +- .../Controllers/StaffProfileController.php | 27 -------------- app/Http/Controllers/TeamController.php | 27 +++++++------- app/Http/Controllers/TeamFileController.php | 4 +-- app/Http/Controllers/UserController.php | 20 +++++------ app/Http/Controllers/VacancyController.php | 36 ++++++++++++------- app/Traits/ReceivesAccountTokens.php | 8 ++--- routes/api.php | 4 +++ 17 files changed, 85 insertions(+), 126 deletions(-) delete mode 100755 app/Http/Controllers/ResponseController.php delete mode 100755 app/Http/Controllers/StaffProfileController.php diff --git a/app/Http/Controllers/ApiKeyController.php b/app/Http/Controllers/ApiKeyController.php index f959ae2..86d942c 100644 --- a/app/Http/Controllers/ApiKeyController.php +++ b/app/Http/Controllers/ApiKeyController.php @@ -29,8 +29,8 @@ class ApiKeyController extends Controller { $this->authorize('create', ApiKey::class); - $discriminator = "#" . bin2hex(openssl_random_pseudo_bytes(7)); - $secret = bin2hex(openssl_random_pseudo_bytes(32)); + $discriminator = "#" . bin2hex(random_bytes(7)); + $secret = bin2hex(random_bytes(32)); $key = ApiKey::create([ 'name' => $request->keyName, diff --git a/app/Http/Controllers/BanController.php b/app/Http/Controllers/BanController.php index f472910..7cac9ab 100755 --- a/app/Http/Controllers/BanController.php +++ b/app/Http/Controllers/BanController.php @@ -73,9 +73,9 @@ class BanController extends Controller ]); event(new UserBannedEvent($user, $ban)); - $request->session()->flash('success', 'User banned successfully! Ban ID: #'.$ban->id); + $request->session()->flash('success', 'User suspended successfully! Ban ID: #'.$ban->id); } else { - $request->session()->flash('error', 'User already banned!'); + $request->session()->flash('error', 'User already suspended!'); } return redirect()->back(); @@ -87,9 +87,9 @@ class BanController extends Controller if (! is_null($user->bans)) { $user->bans->delete(); - $request->session()->flash('success', 'User unbanned successfully!'); + $request->session()->flash('success', __('User unsuspended successfully!')); } else { - $request->session()->flash('error', 'This user isn\'t banned!'); + $request->session()->flash('error', __('This user isn\'t suspended!')); } return redirect()->back(); diff --git a/app/Http/Controllers/CommentController.php b/app/Http/Controllers/CommentController.php index 3f7fc11..b24ff46 100755 --- a/app/Http/Controllers/CommentController.php +++ b/app/Http/Controllers/CommentController.php @@ -45,9 +45,9 @@ class CommentController extends Controller ]); if ($comment) { - $request->session()->flash('success', 'Comment posted! (:'); + $request->session()->flash('success', __('Comment posted! (:')); } else { - $request->session()->flash('error', 'Something went wrong while posting your comment!'); + $request->session()->flash('error', __('Something went wrong while posting your comment!')); } return redirect()->back(); @@ -58,7 +58,7 @@ class CommentController extends Controller $this->authorize('delete', $comment); $comment->delete(); - $request->session()->flash('success', 'Comment deleted!'); + $request->session()->flash('success', __('Comment deleted!')); return redirect()->back(); } diff --git a/app/Http/Controllers/ContactController.php b/app/Http/Controllers/ContactController.php index c2cb2ef..43c9e99 100755 --- a/app/Http/Controllers/ContactController.php +++ b/app/Http/Controllers/ContactController.php @@ -54,7 +54,7 @@ class ContactController extends Controller $response = json_decode($verifyrequest->getBody(), true); if (! $response['success']) { - $request->session()->flash('error', 'Beep beep boop... Robot? Submission failed.'); + $request->session()->flash('error', __('Beep beep boop... Robot? Submission failed.')); return redirect()->back(); } @@ -69,7 +69,7 @@ class ContactController extends Controller } } - $request->session()->flash('success', 'Message sent successfully! We usually respond within 48 hours.'); + $request->session()->flash('success', __('Message sent successfully! We usually respond within 48 hours.')); return redirect()->back(); } diff --git a/app/Http/Controllers/DevToolsController.php b/app/Http/Controllers/DevToolsController.php index 1749ed5..5badc77 100755 --- a/app/Http/Controllers/DevToolsController.php +++ b/app/Http/Controllers/DevToolsController.php @@ -32,7 +32,7 @@ class DevToolsController extends Controller protected function isolatedAuthorise() { if (! Auth::user()->can('admin.developertools.use')) { - abort(403, 'You\'re not authorized to access this page.'); + abort(403, __('You\'re not authorized to access this page.')); } } @@ -52,9 +52,9 @@ class DevToolsController extends Controller if (! is_null($application)) { event(new ApplicationApprovedEvent($application)); - $request->session()->flash('success', 'Event dispatched! Please check the debug logs for more info'); + $request->session()->flash('success', __('Event dispatched! Please check the debug logs for more info')); } else { - $request->session()->flash('error', 'Application doesn\'t exist!'); + $request->session()->flash('error', __('Application doesn\'t exist!')); } return redirect()->back(); diff --git a/app/Http/Controllers/FormController.php b/app/Http/Controllers/FormController.php index 98d82a0..7ccf9f6 100755 --- a/app/Http/Controllers/FormController.php +++ b/app/Http/Controllers/FormController.php @@ -51,7 +51,7 @@ class FormController extends Controller if (count($fields) == 2) { // form is probably empty, since forms with fields will alawys have more than 2 items - $request->session()->flash('error', 'Sorry, but you may not create empty forms.'); + $request->session()->flash('error', __('Sorry, but you may not create empty forms.')); return redirect()->to(route('showForms')); } @@ -69,7 +69,7 @@ class FormController extends Controller ] ); - $request->session()->flash('success', 'Form created! You can now link this form to a vacancy.'); + $request->session()->flash('success', __('Form created! You can now link this form to a vacancy.')); return redirect()->to(route('showForms')); } @@ -92,13 +92,13 @@ class FormController extends Controller if ($deletable) { $form->delete(); - $request->session()->flash('success', 'Form deleted successfully.'); + $request->session()->flash('success', __('Form deleted successfully.')); } else { - $request->session()->flash('error', 'You cannot delete this form because it\'s tied to one or more applications and ranks, or because it doesn\'t exist.'); + $request->session()->flash('error', __('You cannot delete this form because it\'s tied to one or more applications and ranks, or because it doesn\'t exist.')); } return redirect()->back(); - + } public function preview(Request $request, Form $form) @@ -135,7 +135,7 @@ class FormController extends Controller $form->formStructure = $contextValidation->get('structure'); $form->save(); - $request->session()->flash('success', 'Hooray! Your form was updated. New applications for it\'s vacancy will use it.'); + $request->session()->flash('success', __('Hooray! Your form was updated. New applications for it\'s vacancy will use it.')); } else { $request->session()->flash('errors', $contextValidation->get('validator')->errors()->getMessages()); } diff --git a/app/Http/Controllers/OptionsController.php b/app/Http/Controllers/OptionsController.php index c5a17bb..1189301 100755 --- a/app/Http/Controllers/OptionsController.php +++ b/app/Http/Controllers/OptionsController.php @@ -77,15 +77,15 @@ class OptionsController extends Controller report($ex); $errorCond = true; - $request->session()->flash('error', 'An error occurred while trying to save settings: '.$ex->getMessage()); + $request->session()->flash('error', __('An error occurred while trying to save settings: :message ', ['message' => $ex->getMessage()])); } } if (! isset($errorCond)) { - $request->session()->flash('success', 'Settings saved successfully!'); + $request->session()->flash('success', __('Settings saved successfully!')); } } else { - $request->session()->flash('error', 'You do not have permission to update this resource.'); + $request->session()->flash('error', __('You do not have permission to update this resource.')); } return redirect()->back(); @@ -103,13 +103,13 @@ class OptionsController extends Controller if (!is_null($request->gamePref) && in_array($request->gamePref, $supportedGames)) { Options::changeOption('currentGame', $request->gamePref); - $request->session()->flash('success', 'Updated current game.'); + $request->session()->flash('success', __('Updated current game.')); return redirect()->back(); } - $request->session()->flash('error', 'Unsupported game ' . $request->gamePref . '.'); - + $request->session()->flash('error', __('Unsupported game :game.', ['game' => $request->gamePref ])); + return redirect()->back(); } } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 0f63b2d..ca663b5 100755 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -84,7 +84,7 @@ class ProfileController extends Controller 'roles' => $roleList, ]); } else { - abort(403, 'You cannot view someone else\'s profile.'); + abort(403, __('You cannot view someone else\'s profile.')); } } @@ -117,7 +117,7 @@ class ProfileController extends Controller $newProfile = $profile->save(); - $request->session()->flash('success', 'Profile settings saved successfully.'); + $request->session()->flash('success', __('Profile settings saved successfully.')); } return redirect()->back(); diff --git a/app/Http/Controllers/ResponseController.php b/app/Http/Controllers/ResponseController.php deleted file mode 100755 index bcb5070..0000000 --- a/app/Http/Controllers/ResponseController.php +++ /dev/null @@ -1,27 +0,0 @@ -. - */ - -namespace App\Http\Controllers; - -class ResponseController extends Controller -{ - // -} diff --git a/app/Http/Controllers/SecuritySettingsController.php b/app/Http/Controllers/SecuritySettingsController.php index 14b214d..febe168 100644 --- a/app/Http/Controllers/SecuritySettingsController.php +++ b/app/Http/Controllers/SecuritySettingsController.php @@ -41,7 +41,7 @@ class SecuritySettingsController extends Controller Options::changeOption('force2fa', $request->enforce2fa); Options::changeOption('requireGameLicense', $request->requirePMC); - $request->session()->flash('success', 'Settings saved successfully.'); + $request->session()->flash('success', __('Settings saved successfully.')); return redirect()->back(); } diff --git a/app/Http/Controllers/StaffProfileController.php b/app/Http/Controllers/StaffProfileController.php deleted file mode 100755 index 1f6b569..0000000 --- a/app/Http/Controllers/StaffProfileController.php +++ /dev/null @@ -1,27 +0,0 @@ -. - */ - -namespace App\Http\Controllers; - -class StaffProfileController extends Controller -{ - // -} diff --git a/app/Http/Controllers/TeamController.php b/app/Http/Controllers/TeamController.php index 0c90166..bbcb1f6 100755 --- a/app/Http/Controllers/TeamController.php +++ b/app/Http/Controllers/TeamController.php @@ -70,7 +70,7 @@ class TeamController extends Controller Auth::user()->teams()->attach($team->id); - $request->session()->flash('success', 'Team successfully created.'); + $request->session()->flash('success', __('Team successfully created.')); return redirect()->back(); } @@ -110,8 +110,7 @@ class TeamController extends Controller $team->openJoin = $request->joinType; $team->save(); - - $request->session()->flash('success', 'Team edited successfully.'); + $request->session()->flash('success', __('Team edited successfully.')); return redirect()->to(route('teams.index')); } @@ -139,12 +138,12 @@ class TeamController extends Controller Mail::to($user)->send(new InviteToTeam($invite)); }); - $request->session()->flash('success', 'Invite sent! They can now accept or deny it.'); + $request->session()->flash('success', __('Invite sent! They can now accept or deny it.')); } else { - $request->session()->flash('error', 'This user has already been invited.'); + $request->session()->flash('error', __('This user has already been invited.')); } } else { - $request->session()->flash('error', 'You can\'t invite users to public teams.'); + $request->session()->flash('error', __('You can\'t invite users to public teams.')); } return redirect()->back(); @@ -159,9 +158,9 @@ class TeamController extends Controller if ($invite && $invite->user->is(Auth::user())) { Teamwork::acceptInvite($invite); - $request->session()->flash('success', 'Invite accepted! You have now joined '.$invite->team->name.'.'); + $request->session()->flash('success', __('Invite accepted! You have now joined :teamName.', ['teamName' => $invite->team->name])); } else { - $request->session()->flash('error', 'Invalid or expired invite URL.'); + $request->session()->flash('error', __('Invalid or expired invite URL.')); } break; @@ -172,9 +171,9 @@ class TeamController extends Controller if ($invite && $invite->user->is(Auth::user())) { Teamwork::denyInvite($invite); - $request->session()->flash('success', 'Invite denied! Ask for another invite if this isn\'t what you meant.'); + $request->session()->flash('success', __('Invite denied! Ask for another invite if this isn\'t what you meant.')); } else { - $request->session()->flash('error', 'Invalid or expired invite URL.'); + $request->session()->flash('error', __('Invalid or expired invite URL.')); } break; @@ -195,9 +194,9 @@ class TeamController extends Controller try { Auth::user()->switchTeam($team); - $request->session()->flash('success', 'Switched teams! Your team dashboard will now use this context.'); + $request->session()->flash('success', __('Switched teams! Your team dashboard will now use this context.')); } catch (UserNotInTeamException $ex) { - $request->session()->flash('error', 'You can\'t switch to a team you don\'t belong to.'); + $request->session()->flash('error', __('You can\'t switch to a team you don\'t belong to.')); } return redirect()->back(); @@ -220,7 +219,7 @@ class TeamController extends Controller $team->vacancies()->detach($vacancy->id); } - $request->session()->flash('success', 'Removed all vacancy associations.'); + $request->session()->flash('success', __('Removed all vacancy associations.')); return redirect()->back(); } @@ -240,7 +239,7 @@ class TeamController extends Controller $team->vacancies()->attach($requestVacancies); } - $request->session()->flash('success', 'Assignments changed successfully.'); + $request->session()->flash('success', __('Assignments changed successfully.')); return redirect()->back(); } diff --git a/app/Http/Controllers/TeamFileController.php b/app/Http/Controllers/TeamFileController.php index 81857fe..56b6786 100755 --- a/app/Http/Controllers/TeamFileController.php +++ b/app/Http/Controllers/TeamFileController.php @@ -140,11 +140,11 @@ class TeamFileController extends Controller Storage::delete($teamFile->fs_location); $teamFile->delete(); - $request->session()->flash('success', 'File deleted successfully.'); + $request->session()->flash('success', __('File deleted successfully.')); } catch (\Exception $ex) { - $request->session()->flash('error', 'There was an error deleting the file: ' . $ex->getMessage()); + $request->session()->flash('error', __('There was an error deleting the file: :msg', ['msg' => $ex->getMessage()])); } return redirect()->back(); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 2b9feb7..4f2bf05 100755 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -173,7 +173,7 @@ class UserController extends Controller if (! is_null($user)) { $user->password = Hash::make($request->newPassword); $user->password_last_updated = now(); - + $user->save(); Log::info('User '.$user->name.' has changed their password', [ @@ -204,9 +204,9 @@ class UserController extends Controller ]); $user->notify(new EmailChanged()); - $request->session()->flash('success', 'Your email address has been changed!'); + $request->session()->flash('success', __('Your email address has been changed!')); } else { - $request->session()->flash('error', 'There has been an error whilst trying to update your account. Please contact administrators.'); + $request->session()->flash('error', __('There has been an error whilst trying to update your account. Please contact administrators.')); } return redirect()->back(); @@ -218,9 +218,9 @@ class UserController extends Controller if ($request->confirmPrompt == 'DELETE ACCOUNT') { $user->forceDelete(); - $request->session()->flash('success', 'User deleted successfully. PII has been erased.'); + $request->session()->flash('success', __('User deleted successfully.')); } else { - $request->session()->flash('error', 'Wrong confirmation text! Try again.'); + $request->session()->flash('error', __('Wrong confirmation text! Try again.')); } return redirect()->route('registeredPlayerList'); @@ -287,9 +287,9 @@ class UserController extends Controller $request->session()->forget('twofaAttemptFailed'); } - $request->session()->flash('success', '2FA succesfully enabled! You\'ll now be prompted for an OTP each time you log in.'); + $request->session()->flash('success', __('2FA succesfully enabled! You\'ll now be prompted for an OTP each time you log in.')); } else { - $request->session()->flash('error', 'Incorrect code. Please reopen the 2FA settings panel and try again.'); + $request->session()->flash('error', __('Incorrect code. Please reopen the 2FA settings panel and try again.')); $request->session()->put('twofaAttemptFailed', true); } @@ -306,7 +306,7 @@ class UserController extends Controller $request->user()->twofa_secret = null; $request->user()->save(); - $request->session()->flash('success', 'Two-factor authentication disabled.'); + $request->session()->flash('success', __('Two-factor authentication disabled.')); return redirect()->back(); } @@ -317,7 +317,7 @@ class UserController extends Controller // TODO: move logic to policy if (! $user->isStaffMember() || $user->is(Auth::user())) { - $request->session()->flash('error', 'You cannot terminate this user.'); + $request->session()->flash('error', __('You cannot terminate this user.')); return redirect()->back(); } @@ -331,7 +331,7 @@ class UserController extends Controller } Log::info('User '.$user->name.' has just been demoted.'); - $request->session()->flash('success', 'User terminated successfully.'); + $request->session()->flash('success', __('User terminated successfully.')); //TODO: Dispatch event return redirect()->back(); diff --git a/app/Http/Controllers/VacancyController.php b/app/Http/Controllers/VacancyController.php index 5316d3b..64e1864 100755 --- a/app/Http/Controllers/VacancyController.php +++ b/app/Http/Controllers/VacancyController.php @@ -21,6 +21,7 @@ namespace App\Http\Controllers; +use App\Facades\JSON; use App\Form; use App\Http\Requests\VacancyEditRequest; use App\Http\Requests\VacancyRequest; @@ -45,7 +46,11 @@ class VacancyController extends Controller public function store(VacancyRequest $request) { + $messageIsError = false; $this->authorize('create', Vacancy::class); + + + $form = Form::find($request->vacancyFormID); if (! is_null($form)) { @@ -67,12 +72,16 @@ class VacancyController extends Controller ]); - $request->session()->flash('success', 'Vacancy successfully opened. It will now show in the home page.'); + $message = __('Vacancy successfully opened. It will now show in the home page.'); + } else { - $request->session()->flash('error', 'You cannot create a vacancy without a valid form.'); + $message = __('You cannot create a vacancy without a valid form.'); + $messageIsError = true; } - return redirect()->back(); + return redirect() + ->back() + ->with(($messageIsError) ? 'error' : 'success', $message); } public function updatePositionAvailability(Request $request, $status, Vacancy $vacancy) @@ -85,13 +94,13 @@ class VacancyController extends Controller switch ($status) { case 'open': $vacancy->open(); - $message = 'Position successfully opened!'; + $message = __('Position successfully opened!'); break; case 'close': $vacancy->close(); - $message = 'Position successfully closed!'; + $message = __('Position successfully closed!'); foreach (User::all() as $user) { if ($user->isStaffMember()) { @@ -101,18 +110,19 @@ class VacancyController extends Controller break; default: - $message = "Please do not tamper with the button's URLs. To report a bug, please contact an administrator."; + $message = __("Please do not tamper with the URLs. To report a bug, please contact an administrator."); $type = 'error'; } } else { - $message = "The position you're trying to update doesn't exist!"; + $message = __("The position you're trying to update doesn't exist!"); $type = 'error'; } - $request->session()->flash($type, $message); + return redirect() + ->back() + ->with($type, $message); - return redirect()->back(); } public function edit(Request $request, Vacancy $vacancy) @@ -127,14 +137,14 @@ class VacancyController extends Controller { $this->authorize('update', $vacancy); - $vacancy->vacancyFullDescription = $request->vacancyFullDescription; + $vacancy->vacancyFullDescription = $request->vacancyFullDescription; $vacancy->vacancyDescription = $request->vacancyDescription; $vacancy->vacancyCount = $request->vacancyCount; $vacancy->save(); - $request->session()->flash('success', 'Vacancy successfully updated.'); - - return redirect()->back(); + return redirect() + ->back() + ->with('success', __('Vacancy successfully updated.')); } } diff --git a/app/Traits/ReceivesAccountTokens.php b/app/Traits/ReceivesAccountTokens.php index e9848c6..f6ff113 100755 --- a/app/Traits/ReceivesAccountTokens.php +++ b/app/Traits/ReceivesAccountTokens.php @@ -42,7 +42,7 @@ trait ReceivesAccountTokens $user->delete(); Auth::logout(); - $request->session()->flash('success', 'Please check your email to finish deleting your account.'); + $request->session()->flash('success', __('Please check your email to finish deleting your account.')); return redirect()->to('/'); } @@ -68,7 +68,7 @@ trait ReceivesAccountTokens $user->forceDelete(); - $request->session()->flash('success', 'Account permanently deleted. Thank you for using our service.'); + $request->session()->flash('success', __('Account permanently deleted. Thank you for using our service.')); return redirect()->to('/'); } @@ -79,7 +79,7 @@ trait ReceivesAccountTokens if ($user->verifyAccountToken($token, 'cancelToken')) { $user->restore(); - $request->session()->flash('success', 'Account deletion cancelled! You may now login.'); + $request->session()->flash('success', __('Account deletion cancelled! You may now login.')); return redirect()->to(route('login')); } @@ -88,7 +88,7 @@ trait ReceivesAccountTokens default: - abort(404, 'The page you were trying to access may not exist or may be expired.'); + abort(404, __('The page you were trying to access may not exist or may be expired.')); } } } diff --git a/routes/api.php b/routes/api.php index 647e644..0d3e50a 100755 --- a/routes/api.php +++ b/routes/api.php @@ -47,4 +47,8 @@ Route::middleware(['api'])->group(function (){ }); + Route::group(['prefix' => 'vacancies'], function () { + + }); + });