ldc-crm/resources/views/bo/pages/users/form.blade.php

163 lines
7 KiB
PHP

<div class="row">
{{-- FIRSTNAME --}}
<div class="col-12 col-md-6 mb-3">
<fieldset class="h-100 border p-3">
<legend>{{ __('Prénom') }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.varchar', [
'id' => 'userFirstname',
'label' => __('Prénom de l\':model', ['model' => __('models.classes.user')]),
'hasWordCounter' => true,
'name' => 'first_name',
'required' => true,
'model' => $userModel ?? null,
'helper' => __('validation.between.string', [
'attribute' => __('prénom de l\':model', ['model' => __('models.classes.user')]),
'min' => 3,
'max' => 255,
]),
'placeholder' => __('Un beau prénom'),
])
</div>
</div>
</fieldset>
</div>
{{-- LASTNAME --}}
<div class="col-12 col-md-6 mb-3">
<fieldset class="h-100 border p-3">
<legend>{{ __('Nom') }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.varchar', [
'id' => 'userLastname',
'label' => __('Nom de l\':model', ['model' => __('models.classes.user')]),
'hasWordCounter' => true,
'name' => 'last_name',
'required' => true,
'model' => $userModel ?? null,
'helper' => __('validation.between.string', [
'attribute' => __('nom de l\':model', ['model' => __('models.classes.user')]),
'min' => 3,
'max' => 255,
]),
'placeholder' => __('Un beau nom'),
])
</div>
</div>
</fieldset>
</div>
{{-- EMAIL --}}
<div class="col-12 col-md-6 mb-3">
<fieldset class="h-100 border p-3">
<legend>{{ __('E-mail') }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.varchar-email', [
'id' => 'userEmail',
'label' => __('E-mail de l\':model', ['model' => __('models.classes.user')]),
'name' => 'email',
'required' => true,
'model' => $userModel ?? null,
'helper' => __('validation.email', [
'attribute' => __('E-mail de l\':model', ['model' => __('models.classes.user')]),
]),
'placeholder' => __('aaaa.bbb@gmail.com'),
])
</div>
</div>
</fieldset>
</div>
{{-- ROLE --}}
<div class="col-12 col-md-6 mb-3">
<fieldset class="h-100 border p-3">
<legend>{{ __('Rôle') }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.tinyint-enum', [
'id' => 'userRole',
'label' => __('Associer un rôle'),
'name' => 'role',
'model' => $userModel ?? null,
'required' => true,
'associatedModels' => Arr::where(
\App\Enums\Users\RoleEnum::toArray(),
fn(object $role) => $role->value >=
auth('backend')->user()->role->value()),
'helper' => __('Sélectionnez un rôle dans la liste déroulante.'),
])
</div>
</div>
</fieldset>
</div>
{{-- STATUS --}}
<div class="col-12 col-md-6 mb-3">
<fieldset class="h-100 border p-3">
<legend>{{ __('Visibilité') }}</legend>
<div class="row">
<div class="col-12">
@include('bo.partials.inputs.tinyint-boolean', [
'id' => 'userPublished',
'name' => 'published',
'label' => __('État de publication de l\':model', ['model' => __('models.classes.user')]),
'helper' => __('Deux réponses possibles : oui ou non.'),
'model' => $userModel ?? null,
])
</div>
</div>
</fieldset>
</div>
{{-- BRAND --}}
@if ($userModel->exists)
@can('changeBrands', $userModel)
<div class="col-12 col-md-6 pb-3">
<fieldset class="h-100 border p-3">
<legend>{{ str(__('models.classes.brands'))->ucfirst() }}</legend>
<div class="row">
@include('bo.partials.inputs.search-belongs-to-dropdown', [
'id' => 'userBrand',
'label' => __(':model associées', [
'model' => str(__('models.classes.brands'))->ucfirst(),
]),
'name' => 'brand_id',
'relation' => 'brands',
'model' => $userModel,
'targetClass' => 'App\Models\Brand',
'modelListPaginate' => $brandModels ?? [],
'constructedRoute' => route('bo.brands.json-paginate'),
'fieldName' => 'name',
'multiple' => true,
'required' => true,
'disabled' => false,
'placeholder' => __('Rechercher une :model', [
'model' => str(__('models.classes.brands'))->singular(),
]),
'helper' => __('Sélectionner des :model qui seront associées parmis la liste.', [
'model' => __('models.classes.brands'),
]),
])
</div>
</fieldset>
</div>
@endcan
@endif
<div class="row">
<div class="col text-center">
<p><b>{{ __('* Champs obligatoires') }}</b></p>
</div>
</div>
</div>
@push('scripts')
<script nonce="{{ $nonce }}">
document.addEventListener("DOMContentLoaded", () => {
// Submit button clone.
const submit = document.getElementById('formSubmit');
const submitClone = document.getElementById('formSubmitClone');
submitClone.addEventListener('click', (event) => {
event.preventDefault();
submit.click();
});
});
</script>
@endpush