From 48bc54209705366414c97433af704d6263f29914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?= Date: Wed, 5 May 2021 15:58:25 +0200 Subject: [PATCH] Inject the account information as a Javascript variable Check the registration and authentication status and inject this variable once the email is validated or the account authenticated Bump the package number Fix #8 --- .../Account/AuthenticateController.php | 17 +++++++++++++++++ .../Controllers/Account/RegisterController.php | 4 +--- .../views/account/authenticate/email.blade.php | 5 +++++ .../resources/views/account/panel.blade.php | 2 ++ .../views/parts/account_variables.blade.php | 12 ++++++++++++ flexiapi/routes/web.php | 1 + flexisip-account-manager.spec | 2 +- 7 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 flexiapi/resources/views/parts/account_variables.blade.php diff --git a/flexiapi/app/Http/Controllers/Account/AuthenticateController.php b/flexiapi/app/Http/Controllers/Account/AuthenticateController.php index dc398a2..e7df953 100644 --- a/flexiapi/app/Http/Controllers/Account/AuthenticateController.php +++ b/flexiapi/app/Http/Controllers/Account/AuthenticateController.php @@ -85,6 +85,9 @@ class AuthenticateController extends Controller ]); } + /** + * Display the form + */ public function authenticateEmail(Request $request) { $request->validate([ @@ -109,6 +112,20 @@ class AuthenticateController extends Controller Mail::to($account)->send(new PasswordAuthentication($account)); + return redirect()->route('account.check.email', $account->identifier); + } + + /** + * A page that check if the email was validated and reload if not + */ + public function checkEmail(Request $request, string $sip) + { + if (auth()->user()) { + return redirect()->route('account.panel'); + } + + $account = Account::sip($sip)->firstOrFail(); + return view('account.authenticate.email', [ 'account' => $account ]); diff --git a/flexiapi/app/Http/Controllers/Account/RegisterController.php b/flexiapi/app/Http/Controllers/Account/RegisterController.php index 0aa1baa..209bae4 100644 --- a/flexiapi/app/Http/Controllers/Account/RegisterController.php +++ b/flexiapi/app/Http/Controllers/Account/RegisterController.php @@ -98,9 +98,7 @@ class RegisterController extends Controller Mail::to($account)->send(new RegisterConfirmation($account)); - return view('account.authenticate.email', [ - 'account' => $account - ]); + return redirect()->route('account.check.email', $account->identifier); } public function storePhone(Request $request) diff --git a/flexiapi/resources/views/account/authenticate/email.blade.php b/flexiapi/resources/views/account/authenticate/email.blade.php index a8a2db3..55418b0 100644 --- a/flexiapi/resources/views/account/authenticate/email.blade.php +++ b/flexiapi/resources/views/account/authenticate/email.blade.php @@ -6,8 +6,13 @@ @else @if ($account->activated)

A unique authentication link was sent by email to {{ $account->email }}.

+ + @include('parts.account_variables', ['account' => $account]) @else

To finish your registration process and set a password please follow the link sent on your email address {{ $account->email }}.

+ @endif @endif @endsection \ No newline at end of file diff --git a/flexiapi/resources/views/account/panel.blade.php b/flexiapi/resources/views/account/panel.blade.php index aa0287a..2d6c05f 100644 --- a/flexiapi/resources/views/account/panel.blade.php +++ b/flexiapi/resources/views/account/panel.blade.php @@ -91,4 +91,6 @@ @endif +@include('parts.account_variables', ['account' => $account]) + @endsection \ No newline at end of file diff --git a/flexiapi/resources/views/parts/account_variables.blade.php b/flexiapi/resources/views/parts/account_variables.blade.php new file mode 100644 index 0000000..fc9e929 --- /dev/null +++ b/flexiapi/resources/views/parts/account_variables.blade.php @@ -0,0 +1,12 @@ +@if ($account) + +@endif diff --git a/flexiapi/routes/web.php b/flexiapi/routes/web.php index edeafc0..8d40b43 100644 --- a/flexiapi/routes/web.php +++ b/flexiapi/routes/web.php @@ -24,6 +24,7 @@ Route::post('authenticate', 'Account\AuthenticateController@authenticate')->name Route::get('login/email', 'Account\AuthenticateController@loginEmail')->name('account.login_email'); Route::post('authenticate/email', 'Account\AuthenticateController@authenticateEmail')->name('account.authenticate.email'); +Route::get('authenticate/email/check/{sip}', 'Account\AuthenticateController@checkEmail')->name('account.check.email'); Route::get('authenticate/email/{code}', 'Account\AuthenticateController@validateEmail')->name('account.authenticate.email_confirm'); Route::get('login/phone', 'Account\AuthenticateController@loginPhone')->name('account.login_phone'); diff --git a/flexisip-account-manager.spec b/flexisip-account-manager.spec index 1b29214..89d1e2c 100644 --- a/flexisip-account-manager.spec +++ b/flexisip-account-manager.spec @@ -8,7 +8,7 @@ #%define _datadir %{_datarootdir} #%define _docdir %{_datadir}/doc -%define build_number 66 +%define build_number 67 %define var_dir /var/opt/belledonne-communications %define opt_dir /opt/belledonne-communications/share/flexisip-account-manager