--- /dev/null
+<?php
+
+namespace App\Http\Controllers;
+
+use Cubist\Backpack\app\Magic\Menu\Facade as CubistMenu;
+use Cubist\Backpack\app\Magic\Menu\Menu;
+use Illuminate\Http\Request;
+use App\Models\News;
+use Cubist\Backpack\app\Http\Controllers\CubistFrontController;
+use Cubist\Backpack\app\Magic\PageData;
+use Illuminate\Support\Facades\DB;
+
+class ClientChangePassword extends CubistFrontController
+{
+ public function view(Request $request)
+ {
+ $page = Menu::getNavigation()->findOneById(157)->getEntity();
+ $email = $request->get('email');
+ $token = $request->get('token');
+
+ $this->data['page'] = $page->getPageData();
+ $this->data['title'] = 'Changer votre mot de passe';
+ $this->data['token'] = $token;
+ $this->data['email'] = $email;
+
+ $path = "changer-votre-mot-de-passe";
+ $nav = Menu::getNavigation();
+ $item = $nav->findItemWithURL($path,true);
+ $this->data['item'] = $item;
+
+ //dd($item->hasChildren(), $item->getChildren());
+
+ return view('pages.change_password', $this->data);
+ }
+}
namespace App\Http\Controllers;
use App\Models\AuthClient;
+use App\Models\News;
use App\User;
use App\Models\Client;
use Cubist\Backpack\app\Magic\Menu\Menu;
$request->only('email')
);
- //$url = 'https://example.com/reset-password?token='.$token;
- //$this->notify(new ResetPasswordNotification($url));
-
return $status === Password::RESET_LINK_SENT
? back()->with(['status' => __($status)])
: back()->withErrors(['email' => __($status)]);
$client->update();
return redirect('/se-connecter');
- //return redirect()->route('se-connecter')->with('status', __('Mot de passe changer avec succès'));
}
}
use Closure;
use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Hash;
class RedirectClientIfAuthenticated
{
*/
public function handle($request, Closure $next)
{
- if (($request->path() === "se-connecter") && Auth::guard('web-clients')->check()) {
+ if($request->path() === "changer-votre-mot-de-passe") {
+ if(!$request->get('token') && !$request->get('email')) abort('404');
+
+ $email = $request->get('email');
+ $token = $request->get('token');
+ $actualToken = DB::table('password_resets')->where('email', $email)->first();
+ if(!$actualToken) abort('404');
+
+ $tokenIsValid = Hash::check($token, $actualToken->token);
+ if(!$tokenIsValid) abort('404');
+ }
+ if (($request->path() === "se-connecter" || $request->path() === "changer-votre-mot-de-passe") && Auth::guard('web-clients')->check()) {
return redirect('/');
- }elseif($request->path() !== "se-connecter" && !Auth::guard('web-clients')->check()) {
+ }elseif(($request->path() !== "se-connecter" && $request->path() !== "changer-votre-mot-de-passe") && !Auth::guard('web-clients')->check()) {
return redirect('/se-connecter');
}
protected $hidden = [
'remember_token',
];
-
- public function sendPasswordResetNotification($token) {
- // The trick is first to instantiate the notification itself
- ResetPassword::createUrlUsing(function ($user, string $token) {
- return 'https://example.com/reset-password?token='.$token;
- });
-
- $this->notify(new ResetPasswordNotification($token));
- }
}
public function boot()
{
$this->registerPolicies();
- //
}
}
namespace App\Templates;
+use App\Models\News as NewsModel;
+use Barryvdh\Debugbar\Facade as Debugbar;
+use Carbon\Carbon;
use Cubist\Backpack\app\Magic\Menu\PageItem;
class ChangePassword extends Base
+@php
+ CubistMenu::setCurrentPage($item);
+@endphp
+
@extends('layouts/app')
@section('content')
@enderror
</div>
<div class="form-footer flex flex-wrap-reverse justify-between items-center">
- <button class="checkemail form-submit-button btn btn-custom xs:w-full">
+ <button class="checkemail form-submit-button btn btn-custom w-full">
{{ __('Envoyer') }}
</button>
</div>
</label>
</div>
<div class="form-footer flex flex-wrap-reverse justify-between items-center">
- <button class="checkemail form-submit-button btn btn-custom xs:w-full">
+ <button class="checkemail form-submit-button btn btn-custom w-full">
{{ __('Envoyer') }}
</button>
</div>
Route::post('/mot-de-passe-oublie', 'ClientForgotPassword@test')->name('password.email');
Route::get('{page}', 'PageController@catchall')->where([
- 'page' => '\b(changer-de-mot-de-passe)\b'
-])->name("password.reset");
+ 'page' => '\b(changer-votre-mot-de-passe)\b'
+])->name("password.reset")->middleware('client');
+
+Route::get('changer-votre-mot-de-passe', 'ClientChangePassword@view')->name("password.reset")->middleware('client');
Route::post('/reset-password', 'ClientForgotPassword@reset')->name('password.update');