Files
opensem/app/Http/Controllers/Shop/Auth/RegisterController.php
Ludovic CANDELLIER 0879b0abf0 add shipping rules
2023-07-16 14:45:42 +02:00

77 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers\Shop\Auth;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\CustomerAddresses;
use App\Repositories\Shop\Customers;
use Illuminate\Foundation\Auth\EmailVerificationRequest;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Sebastienheyd\Boilerplate\Rules\Password;
class RegisterController extends Controller
{
use RegistersUsers;
protected $redirectTo;
protected function guard()
{
return Auth::guard('customer');
}
protected function redirectTo()
{
return route(config('boilerplate.app.redirectTo', 'boilerplate.dashboard'));
}
protected function validator(array $data)
{
return Validator::make($data, [
'last_name' => 'required|max:255',
'first_name' => 'required|max:255',
'email' => 'required|email|max:255|unique:shop_customers,email,NULL,id,deleted_at,NULL',
'password' => ['required', 'confirmed', new Password()],
]);
}
public function showRegistrationForm()
{
return view('Shop.auth.register');
}
protected function create(array $data)
{
$user = Customers::create($data);
CustomerAddresses::add($user->id, $data);
return $user;
}
public function emailVerify()
{
if (Auth::user()->hasVerifiedEmail()) {
return redirect(route(config('boilerplate.app.redirectTo', 'boilerplate.dashboard')));
}
return view('boilerplate::auth.verify-email');
}
public function emailVerifyRequest(EmailVerificationRequest $request)
{
$request->fulfill();
return redirect(route(config('boilerplate.app.redirectTo', 'boilerplate.dashboard')));
}
public function emailSendVerification(Request $request)
{
$request->user()->sendEmailVerificationNotification();
return back()->with('message', 'Verification link sent!');
}
}