* Show the setup page.
*
* @param Request $request
- * @return \Illuminate\Contracts\Support\Renderable
+ * @return \Illuminate\View\View
*/
public function index(Request $request)
{
]);
}
+ /**
+ * @param Request $request
+ * @return \Illuminate\View\View
+ */
+ public function completeRegistration(Request $request)
+ {
+ /** @var User $user */
+ $user = \Auth::user();
+
+ $token = $request->get('token');
+
+ return view('account.complete-registration', [
+ 'user' => $user,
+ 'token' => $token ?? '',
+ ]);
+
+ }
+
+
+
/**
* Get a validator for an incoming registration request.
*
$user->update([
'first_name' => \Str::title($request->input('first_name')),
'last_name' => \Str::title($request->input('last_name')),
- 'password' => \Hash::make($request->input('password')),
'reg_complete' => true,
- 'phone' => $request->input('phone'),
- 'employer' => $request->input('employer'),
- 'position' => $request->input('position'),
- 'service' => $request->input('service'),
- 'accepts_polls' => $request->boolean('acceptsPolls'),
- 'wants_pdf' => $request->boolean('wantsPdf'),
+ 'phone' => $request->input('phone', $user->phone),
+ 'employer' => $request->input('employer', $user->employer),
+ 'position' => $request->input('position', $user->position),
+ 'service' => $request->input('service', $user->service),
+ 'accepts_polls' => $request->boolean('acceptsPolls', $user->accepts_polls),
+ 'wants_pdf' => $request->boolean('wantsPdf', $user->wants_pdf),
]);
+
+ if($request->input('password') !== null) {
+ $user->update([
+ 'password' => \Hash::make($request->input('password'))
+ ]);
+ }
+
LoginToken::where('token', $request->input('login_token'))->delete();
Session::flash('message', "Informations enregistrées avec succès !");
'component' => 'file-instant-search',
'class' => 'psq-archives'
]);
- } else {
- return abort(403, 'Vous devez avoir un abonnement actif pour accéder aux archives.');
}
+
+ return abort(403, 'Vous devez avoir un abonnement actif pour accéder aux archives.');
+
}
}
if(! \Auth::user()->reg_complete) {
- return redirect()->route('account.index');
+ return redirect()->route('account.complete-reg');
}
$this->authorize('view', $file);
return $file->view();
}
+ /**
+ * @param PdfFile $file
+ * @param Request $request
+ * @return \Symfony\Component\HttpFoundation\StreamedResponse
+ */
public function download(PdfFile $file, Request $request)
{
if (! $request->hasValidSignature()) {
--- /dev/null
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+ <div class="row justify-content-center">
+ <div class="col-md-8">
+ @if(! $user->reg_complete)
+ <div class="alert alert-warning">
+ Merci de remplir ce formulaire pour finaliser la création de votre compte afin de pouvoir accéder aux contenus <b>Prescription Santé.</b>
+ </div>
+ @else
+ @if($user->hasValidSubscription())
+ <div class="alert alert-success">
+ Votre abonnement est actif, vous pouvez accéder aux contenus <b>Prescription Santé Quotidien.</b>
+ </div>
+
+ @elseif($user->onTrial())
+ <div class="alert alert-info">
+ Vous bénéficiez d'une période d'évaluation jusqu'au {{$user->trial_ends_at->formatLocalized('%d %B %Y')}}
+ </div>
+ @endif
+ @endif
+ @if (session('registration_complete'))
+ <div class="alert alert-success alert-dismissible">
+ Votre nouveau mot de passe à bien été créé, votre compte est à présent actif !
+ <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+ <span aria-hidden="true">×</span>
+ </button>
+ </div>
+ @elseif(session()->has('message'))
+ <div class="alert alert-success alert-dismissible">
+ {!! session('message') !!}
+ <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+ <span aria-hidden="true">×</span>
+ </button>
+ </div>
+ @endif
+
+ <div class="card">
+ <div class="card-header">Compléter votre profil</div>
+
+ <div class="card-body">
+ <form method="POST" action="{{ route('account.update') }}">
+ @csrf
+ <input type="hidden" name="login_token" value="{{$token}}">
+
+ <div class="form-group row">
+ <label for="first_name" class="col-md-4 col-form-label text-md-right">{{ __('Prénom') }}</label>
+
+ <div class="col-md-6">
+ <input id="first_name" type="text" class="form-control @error('first_name') is-invalid @enderror" name="first_name" value="{{ old('first_name', $user->first_name) }}" required autocomplete="given-name" autofocus>
+
+ @error('first_name')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="last_name" class="col-md-4 col-form-label text-md-right">{{ __('Nom') }}</label>
+
+ <div class="col-md-6">
+ <input id="last_name" type="text" class="form-control @error('last_name') is-invalid @enderror" name="last_name" value="{{ old('last_name', $user->last_name) }}" required autocomplete="family-name">
+
+ @error('last_name')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+
+ <div class="form-group row">
+ <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Adresse email') }}</label>
+
+ <div class="col-md-6">
+ <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email', $user->email) }}" required autocomplete="email" disabled>
+
+ @error('email')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Nouveau mot de passe') }}</label>
+
+ <div class="col-md-6">
+ <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" {{$user->reg_complete ? '' : 'required'}} autocomplete="new-password">
+
+ @error('password')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirmation mot de passe') }}</label>
+
+ <div class="col-md-6">
+ <input id="password-confirm" type="password" class="form-control" name="password_confirmation" {{$user->reg_complete ? '' : 'required'}} autocomplete="new-password">
+ </div>
+ </div>
+
+ <div class="form-group row mb-0">
+ <div class="col-md-6 offset-md-4">
+ <button type="submit" class="btn btn-primary">
+ {{ __('Enregistrer') }}
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
Route::get('/', 'HomeController@index')->name('home');
/** Account */
- Route::prefix('/compte')->middleware(['login.token:false', 'auth'])->group(function() {
+ Route::prefix('compte')->middleware(['login.token:false', 'auth'])->group(function() {
+ Route::get('valider', 'AccountController@completeRegistration')->name('account.complete-reg');
Route::get('/', 'AccountController@index')->name('account.index');
Route::post('/', 'AccountController@update')->name('account.update');
- Route::post('/password', 'AccountController@password')->name('account.password');
+ Route::post('password', 'AccountController@password')->name('account.password');
});