fixes
This commit is contained in:
@@ -17,9 +17,19 @@ class CustomerAddressesDataTable extends DataTable
|
||||
|
||||
public function query(CustomerAddress $model)
|
||||
{
|
||||
$model = self::filterByCustomer($model);
|
||||
|
||||
return $this->buildQuery($model);
|
||||
}
|
||||
|
||||
public static function filterByCustomer($model, $customerId = false)
|
||||
{
|
||||
$customerId = $customerId ? $customerId : self::isFilteredByField('customer_id');
|
||||
|
||||
return $customerId ? $model->byCustomer($customerId) : $model;
|
||||
}
|
||||
|
||||
|
||||
protected function getColumns()
|
||||
{
|
||||
return [
|
||||
|
||||
26
app/Http/Controllers/Admin/Core/Mail/MailLogController.php
Normal file
26
app/Http/Controllers/Admin/Core/Mail/MailLogController.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin\Core\Mail;
|
||||
|
||||
use App\Datatables\Admin\Core\Mail\MailLogsDataTable;
|
||||
use App\Repositories\Core\Mail\MailLogs;
|
||||
|
||||
class MailLogController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
// $this->middleware('ability:admin');
|
||||
}
|
||||
|
||||
public function index(MailLogsDataTable $dataTable)
|
||||
{
|
||||
return $dataTable->render('admin.Core.Mail.MailLog.index', $data ?? []);
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
$data['message'] = MailLogs::getParsed($id);
|
||||
|
||||
return view('admin.Core.Mail.MailLog.modal', $data);
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ class CustomerAddressController extends Controller
|
||||
{
|
||||
public function index(CustomerAddressesDataTable $dataTable)
|
||||
{
|
||||
return $dataTable->render('Admin.Shop.Customers.list');
|
||||
return $dataTable->render('Admin.Shop.CustomerAddresses.list');
|
||||
}
|
||||
|
||||
public function create()
|
||||
|
||||
24
app/Http/Controllers/Admin/Shop/DashboardController.php
Normal file
24
app/Http/Controllers/Admin/Shop/DashboardController.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin\Shop;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Repositories\Shop\Dashboards;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
$data = Dashboards::getStats($data);
|
||||
dump($data);
|
||||
|
||||
return view('Admin.Shop.Dashboard.index', $data);
|
||||
}
|
||||
}
|
||||
75
app/Http/Controllers/Admin/Shop/PriceListValueController.php
Normal file
75
app/Http/Controllers/Admin/Shop/PriceListValueController.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin\Shop;
|
||||
|
||||
use App\Datatables\Shop\PriceListValuesDataTable;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Repositories\Shop\Packages;
|
||||
use App\Repositories\Shop\PriceListValueCategories;
|
||||
use App\Repositories\Shop\PriceListValues;
|
||||
use App\Repositories\Shop\Taxes;
|
||||
use App\Repositories\Shop\Unities;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PriceListValueController extends Controller
|
||||
{
|
||||
public function index(PriceListValuesDataTable $dataTable)
|
||||
{
|
||||
$data['categories'] = PriceListValueCategories::getOptions();
|
||||
|
||||
return $dataTable->render('Admin.Shop.PriceListValues.list', $data);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$data['unities'] = Unities::getOptions();
|
||||
$data['taxes_options'] = Taxes::getOptions();
|
||||
$data['categories'] = PriceListValueCategories::getOptions();
|
||||
|
||||
return view('Admin.Shop.PriceListValues.create', $data);
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
$data['generic'] = PriceListValues::getFull($id)->toArray();
|
||||
$data['packages'] = Packages::getSelectByFamily($data['generic']['category']['article_family_id']);
|
||||
$data['unities'] = ($data['packages']['id'] ?? false) ? Unities::getSelectByPackage($data['packages']['id']) : [];
|
||||
$data['taxes_options'] = Taxes::getOptions();
|
||||
$data['categories'] = PriceListValueCategories::getOptions();
|
||||
|
||||
return view('Admin.Shop.PriceListValues.edit', $data);
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$ret = PriceListValues::store($request->all());
|
||||
|
||||
return redirect()->route('Admin.Shop.PriceListValues.index');
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
$data = PriceListValues::get($id);
|
||||
|
||||
return view('Admin.Shop.PriceListValues.view', $data);
|
||||
}
|
||||
|
||||
public function destroy($id)
|
||||
{
|
||||
return PriceListValues::destroy($id);
|
||||
}
|
||||
|
||||
public function getPrice($id)
|
||||
{
|
||||
$data['generic'] = PriceListValues::getFull($id);
|
||||
|
||||
return view('Admin.Shop.PriceListValues.partials.table-prices', $data);
|
||||
}
|
||||
|
||||
public function addPrice($index)
|
||||
{
|
||||
$data['index'] = $index;
|
||||
|
||||
return view('Admin.Shop.PriceListValues.partials.row_price', $data);
|
||||
}
|
||||
}
|
||||
@@ -3,24 +3,35 @@
|
||||
namespace App\Http\Controllers\Shop\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Shop\RegisterCustomer;
|
||||
use App\Repositories\Shop\CustomerAddresses;
|
||||
use App\Repositories\Shop\Customers;
|
||||
use Illuminate\Foundation\Auth\EmailVerificationRequest;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Sebastienheyd\Boilerplate\Rules\Password;
|
||||
|
||||
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
protected $redirectTo;
|
||||
|
||||
public function showRegistrationForm()
|
||||
public function showRegistrationForm(Request $request)
|
||||
{
|
||||
return view('Shop.auth.register');
|
||||
return view('Shop.auth.register', ['customer' => $request->old()]);
|
||||
}
|
||||
|
||||
public function register(Request $request)
|
||||
public function register(RegisterCustomer $request)
|
||||
{
|
||||
$validatedData = $request->validateWithBag('Errors', [
|
||||
'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()],
|
||||
|
||||
]);
|
||||
|
||||
$user = $this->create($request->all());
|
||||
|
||||
$this->guard()->login($user);
|
||||
@@ -34,7 +45,7 @@ class RegisterController extends Controller
|
||||
|
||||
return $request->wantsJson()
|
||||
? new JsonResponse([], 201)
|
||||
: redirect($this->redirectPath());
|
||||
: redirect('home');
|
||||
}
|
||||
|
||||
public function emailVerify()
|
||||
|
||||
@@ -10,7 +10,6 @@ use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Str;
|
||||
use LangleyFoxall\LaravelNISTPasswordRules\PasswordRules;
|
||||
use Laratrust\Traits\LaratrustUserTrait;
|
||||
|
||||
class Users
|
||||
@@ -113,32 +112,6 @@ class Users
|
||||
return $user ? $user->hasRole($role) : false;
|
||||
}
|
||||
|
||||
public static function hasPermission($permission, $user = false)
|
||||
{
|
||||
if (self::isAdmin()) {
|
||||
return true;
|
||||
}
|
||||
$user = $user ? $user : self::getUser();
|
||||
$permissions = self::getPermissions($user);
|
||||
|
||||
return $user ? self::checkPermission($permissions, $permission) : false;
|
||||
}
|
||||
|
||||
public static function checkPermission($permissions, $permission)
|
||||
{
|
||||
if (! strpos($permission, '*')) {
|
||||
return in_array($permission, $permissions);
|
||||
}
|
||||
$permission = str_replace('*', '', $permission);
|
||||
foreach ($permissions as $item) {
|
||||
if (stripos($item, $permission) !== false) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static function getRoles($user = false)
|
||||
{
|
||||
$user = $user ? $user : self::getUser();
|
||||
@@ -146,33 +119,6 @@ class Users
|
||||
return $user ? $user->roles->pluck('name')->toArray() : false;
|
||||
}
|
||||
|
||||
public static function getRolesToEdit()
|
||||
{
|
||||
return Roles::getListByRights();
|
||||
}
|
||||
|
||||
public static function getPermissions($user = false)
|
||||
{
|
||||
$user = $user ? $user : self::getUser();
|
||||
|
||||
return $user ? $user->allPermissions()->pluck('name')->toArray() : false;
|
||||
}
|
||||
|
||||
public static function getByTeam($id)
|
||||
{
|
||||
return User::byTeam($id)->get();
|
||||
}
|
||||
|
||||
public static function getByUniqueTeam($id)
|
||||
{
|
||||
return User::byTeam($id)->byUniqueTeam()->get();
|
||||
}
|
||||
|
||||
public static function destroyByUniqueTeam($id)
|
||||
{
|
||||
return User::byTeam($id)->byUniqueTeam()->delete();
|
||||
}
|
||||
|
||||
public static function getAvatar($user_id)
|
||||
{
|
||||
$avatar = self::get($user_id)->avatar;
|
||||
@@ -224,11 +170,6 @@ class Users
|
||||
return User::find($id)->update(['password' => $password]);
|
||||
}
|
||||
|
||||
public static function validate($username, $field = 'current_password')
|
||||
{
|
||||
return PasswordRules::changePassword($username, $field);
|
||||
}
|
||||
|
||||
public static function getModel()
|
||||
{
|
||||
return User::query();
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
@component('components.card')
|
||||
<x-card>
|
||||
@include('components.datatable', [
|
||||
'route' => route('Admin.Shop.CustomerAddresses.index'),
|
||||
'model' => 'customer_addresses',
|
||||
'with_print' => false,
|
||||
'with_filters' => false,
|
||||
])
|
||||
@endcomponent
|
||||
<x-layout.modal title="Filtres" id="modal-customer_addresses-filters">
|
||||
@include('Admin.Shop.CustomerAddresses.partials.filters', ['model' => 'customer_addresses'])
|
||||
</x-layout.modal>
|
||||
</x-card>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<form id="{{ $model }}-filters">
|
||||
<input type="text" name="customer_id" value="{{ $customer['id'] ?? false }}">
|
||||
</form>
|
||||
@@ -1,8 +1,7 @@
|
||||
f{{ Form::open(['route' => 'Admin.Shop.Customers.store', 'id' => 'customer-form', 'autocomplete' => 'off']) }}
|
||||
<input type="hidden" name="id" value="{{ $customer['id'] ?? false }}">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
{{ Form::open(['route' => 'Admin.Shop.Customers.store', 'id' => 'customer-form', 'autocomplete' => 'off']) }}
|
||||
<input type="hidden" name="id" value="{{ $customer['id'] ?? false }}">
|
||||
<x-card>
|
||||
<div class="row mb-3">
|
||||
<div class="col-6">
|
||||
@@ -113,13 +112,13 @@ f{{ Form::open(['route' => 'Admin.Shop.Customers.store', 'id' => 'customer-form'
|
||||
</div>
|
||||
</x-card>
|
||||
</div>
|
||||
</form>
|
||||
<div class="col-6">
|
||||
<x-layout.box-collapse title='Adresses' id='form-customer-address'>
|
||||
@include('Admin.Shop.CustomerAddresses.list', ['dataTable' => $customer_addresses])
|
||||
</x-layout.box-collapse>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<x-save />
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
'route' => route('Admin.Shop.Customers.index'),
|
||||
'model' => 'customers',
|
||||
'with_filters' => true,
|
||||
'with_print' => false,
|
||||
])
|
||||
<x-layout.modal title="Filtres" id="modal-customers-filters">
|
||||
@include('Admin.Shop.Customers.partials.filters', ['model' => 'customers'])
|
||||
|
||||
@@ -1,9 +1,20 @@
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
@include('components.form.input', [
|
||||
'name' => 'first_name',
|
||||
'value' => $customer['first_name'] ?? '',
|
||||
'label' => 'Prénom',
|
||||
'required' => true,
|
||||
])
|
||||
</div>
|
||||
<div class="col-6">
|
||||
@@ -11,6 +22,7 @@
|
||||
'name' => 'last_name',
|
||||
'value' => $customer['last_name'] ?? '',
|
||||
'label' => 'Nom',
|
||||
'required' => true,
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -8,15 +8,23 @@
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}">
|
||||
<label>Mot de passe</label>
|
||||
{{ Form::password('password', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
|
||||
<label>Mot de passe *</label>
|
||||
{{ 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">
|
||||
<label>Confirmation du mot de passe</label>
|
||||
<label>Confirmation du mot de passe *</label>
|
||||
<div class="form-group {{ $errors->has('password_confirmation') ? 'has-error' : '' }}">
|
||||
{{ Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password_confirm'), 'required']) }}
|
||||
{{ 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>
|
||||
@@ -36,7 +44,7 @@
|
||||
<div class="col-12">
|
||||
@include('Shop.Customers.partials.address', [
|
||||
'label' => 'Adresse de livraison',
|
||||
'prefix' => 'delivery_'
|
||||
'prefix' => 'delivery_',
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -20,7 +20,12 @@
|
||||
|
||||
@if (isset($left_buttons))
|
||||
@foreach ($left_buttons as $button)
|
||||
@include('components.form.button', ['class' => $button['class'] ?? null, 'icon' => $button['icon'] ?? null, 'txt' => $button['txt'] ?? null, 'id' => $button['id'] ?? null ])
|
||||
@include('components.form.button', [
|
||||
'class' => $button['class'] ?? null,
|
||||
'icon' => $button['icon'] ?? null,
|
||||
'txt' => $button['txt'] ?? null,
|
||||
'id' => $button['id'] ?? null,
|
||||
])
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
|
||||
@@ -11,7 +11,12 @@
|
||||
<div class="col-lg-2 col-md-1 col-6 text-right">
|
||||
@if (isset($right_buttons))
|
||||
@foreach ($right_buttons as $button)
|
||||
@include('components.form.button', ['class' => $button['class'] ?? null, 'icon' => $button['icon'] ?? null, 'txt' => $button['txt'] ?? null, 'id' => $button['id'] ?? null ])
|
||||
@include('components.form.button', [
|
||||
'class' => $button['class'] ?? null,
|
||||
'icon' => $button['icon'] ?? null,
|
||||
'txt' => $button['txt'] ?? null,
|
||||
'id' => $button['id'] ?? null,
|
||||
])
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@@ -19,7 +24,7 @@
|
||||
{!! $right_content !!}
|
||||
@endif
|
||||
|
||||
@if (!(isset($with_add) && (!$with_add)))
|
||||
@if (!(isset($with_add) && !$with_add))
|
||||
@include('components.datatables.buttons.add')
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
<script>
|
||||
|
||||
$('#{{ $model }}-table').on('draw.dt', function() {
|
||||
|
||||
var table = getDatatable("{{ $model }}");
|
||||
|
||||
$('#{{ $model }}-table .btn-edit').off('click').click(function(e) {
|
||||
e.preventDefault();
|
||||
// var id = table.row(this).id();
|
||||
var id = $(this).data('id');
|
||||
@if (isset($edit_callback))
|
||||
{{ $edit_callback }}
|
||||
@@ -18,7 +16,6 @@
|
||||
|
||||
$('#{{ $model }}-table .btn-show').off('click').click(function(e) {
|
||||
e.preventDefault();
|
||||
// var id = table.row(this).id();
|
||||
var id = $(this).data('id');
|
||||
@if (isset($show_callback))
|
||||
{{ $show_callback }}
|
||||
@@ -30,7 +27,6 @@
|
||||
|
||||
$('#{{ $model }}-table .btn-del').off('click').click(function(e) {
|
||||
e.preventDefault();
|
||||
// var id = table.row(this).id();
|
||||
var id = $(this).data('id');
|
||||
|
||||
bootbox.confirm("{{ __('fg.confirmdelete') }}", function(result) {
|
||||
@@ -39,9 +35,10 @@
|
||||
$.ajax({
|
||||
url: '{{ $route }}' + '/destroy/' + id,
|
||||
method: 'delete',
|
||||
headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}'},
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||
},
|
||||
success: function() {
|
||||
// line.remove();
|
||||
@if (isset($delete_callback))
|
||||
{{ $delete_callback }}
|
||||
@else
|
||||
@@ -56,23 +53,5 @@
|
||||
{{ $callback ?? '' }}
|
||||
|
||||
var state = table.state.loaded();
|
||||
// console.log('state');
|
||||
// console.log(state);
|
||||
if ( state ) {
|
||||
/*
|
||||
table.columns().eq( 0 ).each( function ( colIdx ) {
|
||||
var colSearch = state.columns[colIdx].search;
|
||||
if ( colSearch.search ) {
|
||||
$('.search-input-text').eq(colIdx).val( colSearch.search );
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
// datatablesHelper.getDatatableLength('{{ $model }}', 34);
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
@include('components.form.label')
|
||||
|
||||
@if (($disabled ?? false) || ($readonly ?? false))
|
||||
@include('components.form.input', ['type' => 'hidden', 'label' => false, 'disabled' => false, 'readonly' => false])
|
||||
@include('components.form.input', [
|
||||
'type' => 'hidden',
|
||||
'label' => false,
|
||||
'disabled' => false,
|
||||
'readonly' => false,
|
||||
])
|
||||
@endif
|
||||
|
||||
<input type="{{ $type ?? 'text'}}" name="{{ $name }}" id="{{ $id_name ?? str_slug($name,'-') }}" class="form-control {{ $class ?? ''}}" value="{{ $value ?? null}}"
|
||||
@if ($required ?? false) required @endif
|
||||
@if ($disabled ?? false) disabled @endif
|
||||
@if ($readonly ?? false) readonly @endif
|
||||
@if ($autofocus ?? false) autofocus @endif
|
||||
<input type="{{ $type ?? 'text' }}" name="{{ $name }}" id="{{ $id_name ?? str_slug($name, '-') }}"
|
||||
class="form-control {{ $class ?? '' }}" value="{{ $value ?? (old($name) ?? '') }}"
|
||||
@if ($required ?? false) required @endif @if ($disabled ?? false) disabled @endif
|
||||
@if ($readonly ?? false) readonly @endif @if ($autofocus ?? false) autofocus @endif
|
||||
@if ($size ?? false) size="{{ $size }}" @endif
|
||||
@if ($autocomplete ?? false) autocomplete="{{ $autocomplete }}" @endif
|
||||
@if ($minlength ?? false) minlength={{ $minlength }} @endif
|
||||
@@ -17,5 +21,10 @@
|
||||
@if ($mask ?? false) data-inputmask="'mask': '{{ $mask }}'" @endif
|
||||
@if ($pattern ?? false) pattern="{{ $pattern }}" @endif
|
||||
@if ($placeholder ?? false) placeholder="{{ $placeholder }}" @endif
|
||||
@if ($step ?? false) step="{{ $step }}" @endif
|
||||
{!! $meta ?? '' !!} >
|
||||
@if ($step ?? false) step="{{ $step }}" @endif {!! $meta ?? '' !!}>
|
||||
|
||||
@error($name)
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
</span>
|
||||
@enderror
|
||||
|
||||
@@ -117,7 +117,6 @@
|
||||
return !data ? '' : typeof data === 'string' ? removeAccents(data.replace(/<.*?>/g, '')) : data;
|
||||
};
|
||||
});
|
||||
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
|
||||
Reference in New Issue
Block a user