X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/3acea12f1c0013be4f1e3994cae2ea662e43bb4e..refs/pull/2700/head:/app/Http/Controllers/Auth/ConfirmEmailController.php diff --git a/app/Http/Controllers/Auth/ConfirmEmailController.php b/app/Http/Controllers/Auth/ConfirmEmailController.php index 3e240b94e..6e6a0e779 100644 --- a/app/Http/Controllers/Auth/ConfirmEmailController.php +++ b/app/Http/Controllers/Auth/ConfirmEmailController.php @@ -2,12 +2,15 @@ namespace BookStack\Http\Controllers\Auth; +use BookStack\Actions\ActivityType; use BookStack\Auth\Access\EmailConfirmationService; use BookStack\Auth\UserRepo; use BookStack\Exceptions\ConfirmationEmailException; use BookStack\Exceptions\UserTokenExpiredException; use BookStack\Exceptions\UserTokenNotFoundException; +use BookStack\Facades\Theme; use BookStack\Http\Controllers\Controller; +use BookStack\Theming\ThemeEvents; use Exception; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; @@ -21,15 +24,11 @@ class ConfirmEmailController extends Controller /** * Create a new controller instance. - * - * @param EmailConfirmationService $emailConfirmationService - * @param UserRepo $userRepo */ public function __construct(EmailConfirmationService $emailConfirmationService, UserRepo $userRepo) { $this->emailConfirmationService = $emailConfirmationService; $this->userRepo = $userRepo; - parent::__construct(); } @@ -64,16 +63,15 @@ class ConfirmEmailController extends Controller try { $userId = $this->emailConfirmationService->checkTokenAndGetUserId($token); } catch (Exception $exception) { - if ($exception instanceof UserTokenNotFoundException) { - session()->flash('error', trans('errors.email_confirmation_invalid')); + $this->showErrorNotification(trans('errors.email_confirmation_invalid')); return redirect('/register'); } if ($exception instanceof UserTokenExpiredException) { $user = $this->userRepo->getById($exception->userId); $this->emailConfirmationService->sendConfirmation($user); - session()->flash('error', trans('errors.email_confirmation_expired')); + $this->showErrorNotification(trans('errors.email_confirmation_expired')); return redirect('/register/confirm'); } @@ -85,7 +83,9 @@ class ConfirmEmailController extends Controller $user->save(); auth()->login($user); - session()->flash('success', trans('auth.email_confirm_success')); + Theme::dispatch(ThemeEvents::AUTH_LOGIN, auth()->getDefaultDriver(), $user); + $this->logActivity(ActivityType::AUTH_LOGIN, $user); + $this->showSuccessNotification(trans('auth.email_confirm_success')); $this->emailConfirmationService->deleteByUser($user); return redirect('/'); @@ -107,12 +107,11 @@ class ConfirmEmailController extends Controller try { $this->emailConfirmationService->sendConfirmation($user); } catch (Exception $e) { - session()->flash('error', trans('auth.email_confirm_send_error')); + $this->showErrorNotification(trans('auth.email_confirm_send_error')); return redirect('/register/confirm'); } - session()->flash('success', trans('auth.email_confirm_resent')); + $this->showSuccessNotification(trans('auth.email_confirm_resent')); return redirect('/register/confirm'); } - }