namespace App\Http\Controllers;
use App\Models\Command;
-use App\Models\CommandPanierSchema;
use App\Models\Panier;
use Cubist\Backpack\Facades\App;
use App\Models\Page;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Auth;
-use Illuminate\Support\Arr;
+use Illuminate\Support\Facades\Password;
class AjaxController extends CubistFrontController
{
return $data;
}
+ public function forgotPassword(Request $request) {
+ $request->validate(['email' => 'required|email']);
+
+ $status = Password::sendResetLink(
+ $request->only('email')
+ );
+
+ return $status === Password::RESET_LINK_SENT
+ ? back()->with(['status' => __($status)])
+ : back()->withErrors(['email' => __($status)]);
+ }
+
public function update(Request $request) {
$validation = [];
foreach ($request->all() as $key => $field){
--- /dev/null
+<?php
+
+namespace App\Http\Controllers;
+
+
+use App\Models\Client;
+use Illuminate\Support\Facades\Mail;
+use Illuminate\Support\Facades\Password;
+use Illuminate\Http\Request;
+use Illuminate\Auth\Passwords\CanResetPassword;
+use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
+use Illuminate\Foundation\Auth\User as Authenticatable;
+
+class ClientForgotPassword
+{
+ /*
+ |--------------------------------------------------------------------------
+ | Password Reset Controller
+ |--------------------------------------------------------------------------
+ |
+ | This controller is responsible for handling password reset emails and
+ | includes a trait which assists in sending these notifications from
+ | your application to your users. Feel free to explore this trait.
+ |
+ */
+ use CanResetPassword;
+
+ public function test(Request $request) {
+ $request->validate(['email' => 'required|email']);
+
+ $email = $request->only('email');
+ $contents = "";
+
+ $client = Client::where('email', $email['email'])->first();
+
+ $token = Password::createToken($client);
+
+ dd($token);
+
+ Mail::raw($contents, function ($message) use($email) {
+ $message->from(config('mail.from.address'), config('mail.from.name'));
+ $message->sender(config('mail.from.address'), config('mail.from.name'));
+ $message->to($email);
+ $message->bcc('test+pmi@cubedesigners.com');
+ $message->subject("Mise à jour");
+ });
+
+ return $status === Password::RESET_LINK_SENT
+ ? back()->with(['status' => __($status)])
+ : back()->withErrors(['email' => __($status)]);
+ }
+}
use Cubist\Backpack\app\Magic\Models\CubistMagicAbstractModel;
use Illuminate\Support\Facades\Auth;
+use Illuminate\Notifications\Notifiable;
class Client extends CubistMagicAbstractModel
{
--- /dev/null
+<?php
+
+
+namespace App\Templates;
+
+
+class ChangePassword extends Base
+{
+ public function getName()
+ {
+ return 'Changer le mot de passe';
+ }
+
+ public function init()
+ {
+ parent::init();
+ }
+}
--- /dev/null
+<?php
+
+
+namespace App\Templates;
+
+
+class ForgotPassword extends Base
+{
+ public function getName()
+ {
+ return 'Mot de passe oublié';
+ }
+
+ public function init()
+ {
+ parent::init();
+ }
+}
})
},
- created() {
-
- },
-
mounted() {
eventBus.$on('add-item', data => {
--- /dev/null
+@extends('layouts/app')
+
+@section('content')
+ <div class="signin column bg-grey-200 p-24 mx-auto mb-20">
+ <div class="signin-form">
+ <div class="ajax-form flex flex-col max-w-half">
+ <div class="form-info text-navy mb-10">
+ <h1 class="text-4xl m-0">Mot de passe oublié</h1>
+ </div>
+
+ <form id="signin-form" class="form-portal" action="/mot-de-passe-oublie"
+ method="post">
+
+ <div class="form-errors mb-10" v-cloak v-if="errorsForm['errors']">
+ <ul class="list-disc list-inside text-red">
+ <li class="leading-5" v-for="(errorName,errorKey) in errorsForm['errors']" :key="errorKey">
+ @{{ errorName[0] }}
+ </li>
+ </ul>
+ </div>
+
+ @csrf
+ <div class="form-group mb-6">
+ <label class="form-input text-navy">
+ {{ __('Email') }}<span>*</span>
+ <input class="py-3 mt-3" :value="email_signin" type="email" required="required" name="email" />
+ </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">
+ {{ __('Envoyer') }}
+ </button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+@endsection
<?php
Route::get('/deconnexion', 'ClientController@logout');
+Route::post('/mot-de-passe-oublie', 'ClientForgotPassword@test');
+
//add specific name to be simple to add active class
//add middleware to secure this specific page
Route::any('{page}', 'PageController@catchall')->where(
- ['page' => '\b(se-connecter|mon-compte|paniers-enregistres)\b']
+ ['page' => '\b(se-connecter|mon-compte|paniers-enregistres|mes-commandes)\b']
)->name('client')->middleware('client');
Route::any('{page}/{subs?}', 'PageController@catchall')