This commit is contained in:
Ludovic CANDELLIER
2022-04-24 22:07:31 +02:00
parent e4672a42d7
commit 5d68e8787a
11 changed files with 147 additions and 45 deletions

View File

@@ -31,12 +31,13 @@ class LoginController extends Controller
public function login(Request $request)
{
$this->validate($request, [
$credentials = $request->validate([
'email' => 'required|email',
'password' => 'required|min:8',
]);
if (Auth::guard('customer')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
if (Auth::guard('customer')->attempt($credentials, $request->get('remember'))) {
$request->session()->regenerate();
return redirect()->intended(route('home'));
}
return back()->withInput($request->only('email', 'remember'));

View File

@@ -46,7 +46,8 @@ class RegisterController extends Controller
public function showRegistrationForm()
{
return view('Shop.auth.register');
$data = self::init();
return view('Shop.auth.register', $data ?? []);
}
protected function create(array $data)

View File

@@ -19,7 +19,6 @@ class ResetPasswordController extends Controller
public function showResetForm(Request $request, $token = null)
{
$data = $this->initHeader();
$data['token'] = $token;
$data['email'] = $request->email;
return view('Auth.passwords.reset', $data);

View File

@@ -18,6 +18,7 @@ use App\Repositories\Partners;
use App\Repositories\Core\Upload;
use LangleyFoxall\LaravelNISTPasswordRules\PasswordRules;
class Users
{
use LaratrustUserTrait;

View File

@@ -2,10 +2,40 @@
namespace App\Repositories\Shop;
use Illuminate\Support\Facades\Auth;
use App\Models\Shop\Customer;
class Customers
{
public static function getAvatar()
{
}
public static function getName()
{
$user = self::getAuth();
return $user ? $user->first_name : '';
}
public static function getAuth()
{
return Auth::guard('customer')->user();
}
public static function getId()
{
return Auth::guard('customer')->id();
}
public static function isConnected()
{
return Auth::guard('customer')->check();
}
public static function getOptions()
{
return Customer::orderBy('value', 'asc')->get()->pluck('value', 'id')->toArray();

View File

@@ -40,7 +40,7 @@ class Offers
{
$sale_channel_id = $sale_channel_id ? $sale_channel_id : SaleChannels::getDefaultID();
$offer = Offer::withPriceBySaleChannelByQuantity($sale_channel_id, $quantity)->find($id);
return number_format($offer->price_lists->first()->price_list_values->first(),2);
return $offer->price_lists->first()->price_list_values->first();
}
public static function getBasket()

View File

@@ -12,14 +12,14 @@
])
<div class="row">
<div class="col-4">
<div class="col-5">
@include('components.form.inputs.number', [
'name' => 'quantity',
'id_name' => $model . '-quantity',
'value' => 1,
])
</div>
<div class="col-8 text-right">
<div class="col-7 text-right">
<span id="{{ $model }}-price" style="font-size:2em; font-weight: 600;">
{{ $data[0]['prices'][0]['price_taxed'] }}
</span>

View File

@@ -1,29 +1,91 @@
@extends('boilerplate::auth.layout', ['title' => __('boilerplate::auth.register.title'), 'bodyClass' => 'hold-transition login-page'])
@extends('Shop.layout.layout', [
'title' => __('home.title'),
'bodyClass' => 'hold-transition login-page'
])
@section('content')
@component('boilerplate::auth.loginbox')
<p class="login-box-msg">{{ __('boilerplate::auth.register.intro') }}</p>
{!! Form::open(['route' => 'Shop.register.post', 'method' => 'post', 'autocomplete'=> 'off']) !!}
<div class="form-group {{ $errors->has('first_name') ? 'has-error' : '' }}">
{{ Form::text('first_name', old('first_name'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.first_name'), 'required', 'autofocus']) }}
{!! $errors->first('first_name','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('last_name') ? 'has-error' : '' }}">
{{ Form::text('last_name', old('last_name'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.last_name'), 'required']) }}
{!! $errors->first('last_name','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::email('email', old('email'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.email'), 'required']) }}
{!! $errors->first('email','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}">
{{ Form::password('password', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
{!! $errors->first('password','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('password_confirmation') ? 'has-error' : '' }}">
{{ Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password_confirm'), 'required']) }}
{!! $errors->first('password_confirmation','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
{!! Form::open(['route' => 'Shop.register.post', 'method' => 'post', 'autocomplete'=> 'off']) !!}
<div class="row">
<div class="col-8">
@component('components.card', ['title' => 'Créez votre compte', 'class' => 'mt-3 mb-3'])
<div class="row">
<div class="col-6">
<div class="form-group {{ $errors->has('first_name') ? 'has-error' : '' }}">
{{ Form::text('first_name', old('first_name'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.first_name'), 'required', 'autofocus']) }}
{!! $errors->first('first_name','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
<div class="col-6">
<div class="form-group {{ $errors->has('last_name') ? 'has-error' : '' }}">
{{ Form::text('last_name', old('last_name'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.last_name'), 'required']) }}
{!! $errors->first('last_name','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
</div>
<div class="row">
<div class="col-6">
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::email('email', old('email'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.email'), 'required']) }}
{!! $errors->first('email','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
<div class="col-6">
<div class="form-group {{ $errors->has('phone') ? 'has-error' : '' }}">
{{ Form::text('phone', old('phone'), ['class' => 'form-control', 'placeholder' => __('phone'), 'required']) }}
{!! $errors->first('phone','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="form-group {{ $errors->has('address') ? 'has-error' : '' }}">
{{ Form::text('address', old('address'), ['class' => 'form-control', 'placeholder' => __('Adresse'), 'required']) }}
{!! $errors->first('address','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="form-group {{ $errors->has('address2') ? 'has-error' : '' }}">
{{ Form::text('address2', old('address2'), ['class' => 'form-control', 'placeholder' => __('Complément d\'adresse'), 'required']) }}
{!! $errors->first('address2','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
</div>
<div class="row">
<div class="col-4">
<div class="form-group {{ $errors->has('zipcode') ? 'has-error' : '' }}">
{{ Form::text('zipcode', old('zipcode'), ['class' => 'form-control', 'placeholder' => __('zipcode'), 'required']) }}
{!! $errors->first('zipcode','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
<div class="col-8">
<div class="form-group {{ $errors->has('city') ? 'has-error' : '' }}">
{{ Form::text('city', old('city'), ['class' => 'form-control', 'placeholder' => __('city'), 'required']) }}
{!! $errors->first('city','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
</div>
<div class="row">
<div class="col-6">
<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}">
{{ Form::password('password', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
{!! $errors->first('password','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
<div class="col-6">
<div class="form-group {{ $errors->has('password_confirmation') ? 'has-error' : '' }}">
{{ Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password_confirm'), 'required']) }}
{!! $errors->first('password_confirmation','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
</div>
@endcomponent
<div class="row mbm">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 text-center">
<button type="submit" class="btn btn-primary">
@@ -31,6 +93,8 @@
</button>
</div>
</div>
{!! Form::close() !!}
@endcomponent
</div>
</div>
{!! Form::close() !!}
@endsection

View File

@@ -2,11 +2,13 @@
<div class="col-12 text-right p-2">
<button type="button" class="btn bg-green-dark light" data-toggle="dropdown">
<i class="fa fa-2x fa-fw fa-user mr-2"></i>
<span id="username" class="ml-2 badge bg-yellow green-dark"></span>
<span id="username" class="ml-2 badge bg-yellow green-dark">
{{ App\Repositories\Shop\Customers::getName() }}
</span>
</button>
<ul class="dropdown-menu" aria-labelledby="dLabel">
<li>
<li class="dropdown-item">
<a href="{{ route('Shop.login') }}" title="Identifiez-vous" rel="nofollow">
<span>Connexion</span>
</a>

View File

@@ -1,27 +1,31 @@
<div class="row shadow mb-3">
<div class="col-8 pl-0">
<div class="col-12 pl-0">
<nav class="navbar navbar-expand-lg navbar-light bg-light ">
<div class="collapse navbar-collapse" id="navbarContent">
<ul class="navbar-nav">
@foreach ($categories as $category)
<li class="nav-item dropdown megamenu">
<a id="megamenu_{{ $category['id'] }}" href="{{ route('Shop.Categories.show', ['id' => $category['id']]) }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="nav-link dropdown-toggle font-weight-bold text-uppercase">
{{ $category['name'] }}
</a>
@if (isset($category['children']))
<a id="megamenu_{{ $category['id'] }}" href="{{ route('Shop.Categories.show', ['id' => $category['id']]) }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="nav-link dropdown-toggle font-weight-bold text-uppercase">
{{ $category['name'] }}
</a>
<div aria-labelledby="megamenu_{{ $category['id'] }}" class="dropdown-menu border-0 p-0 m-0">
@include('Shop.layout.partials.megamenu')
</div>
@else
<a href="{{ route('Shop.Categories.show', ['id' => $category['id']]) }}" class="nav-link font-weight-bold text-uppercase">
{{ $category['name'] }}
</a>
@endif
</li>
@endforeach
</ul>
</div>
<div class="float-right p-3">
<span style="font-size: 1.2em; font-weight: 600;">
Variétés Paysannes de la Semence à l'Assiette
</span>
</div>
</nav>
</div>
<div class="col-4 text-right p-3">
<span style="font-size: 1.2em; font-weight: 600;">
Variétés Paysannes de la Semence à l'Assiette
</span>
</div>
</div>

View File

@@ -3,7 +3,7 @@
@section('content')
@component('boilerplate::auth.loginbox')
<p class="login-box-msg">{{ __('boilerplate::auth.password_reset.intro') }}</p>
{!! Form::open(['route' => 'boilerplate.password.reset.post', 'method' => 'post', 'autocomplete'=> 'off']) !!}
{!! Form::open(['route' => 'Shop.password.reset.post', 'method' => 'post', 'autocomplete'=> 'off']) !!}
{!! Form::hidden('token', $token) !!}
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::email('email', old('email', $email), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.email'), 'required', 'autofocus']) }}