Merge branch '53-devis-changement-de-restrictions-sur-les-montants-des-lignes' into 'develop'

update invoices request

See merge request ldc-web/projets/support-web!73
This commit is contained in:
Vincent BRIDIER 2024-01-31 16:52:10 +00:00
commit 6a53d7ec45
4 changed files with 69 additions and 79 deletions

View file

@ -49,8 +49,8 @@ class StoreInvoiceRequest extends FormRequest
'object' => 'required|string|min:3|max:255',
'tasks' => 'required|array|min:1',
'tasks.*' => 'required|array',
'tasks.*.days' => 'required|numeric|min:0.125',
'tasks.*.amount' => 'required|numeric|min:0.125',
'tasks.*.days' => 'required|numeric',
'tasks.*.amount' => 'required|numeric',
'tasks.*.desc' => 'required|string|min:10',
'tasks.*.type' => [
'required', new Enum(TaskTypeEnum::class)

View file

@ -97,7 +97,6 @@
v-model="task.amount"
type="number"
step="0.01"
min="0"
>
<span class="input-group-text">€</span>
</div>

View file

@ -1,7 +1,7 @@
<div class="row">
{{-- NAME --}}
<div class="col-12 col-md-6 mb-3">
<fieldset class="border h-100 bg-white p-3">
<fieldset class="h-100 border bg-white p-3">
<legend>{{ Str::ucfirst(__('validation.attributes.name')) }}</legend>
<div class="row">
<div class="col-12">
@ -21,7 +21,7 @@
'model' => Str::singular(__('models.classes.packages')),
]),
'min' => 3,
'max' => 255
'max' => 255,
]),
'placeholder' => __(':field du :model', [
'field' => Str::ucfirst(__('validation.attributes.name')),
@ -34,14 +34,14 @@
</div>
{{-- AMOUNT --}}
<div class="col-12 col-md-6 mb-3">
<fieldset class="border h-100 bg-white p-3">
<legend>{{ Str::ucfirst(__('validation.attributes.amount.day')) }}</legend>
<fieldset class="h-100 border bg-white p-3">
<legend>{{ Str::ucfirst(__('validation.attributes.day')) }}</legend>
<div class="row">
<div class="col-12 mb-3">
@include('bo.partials.inputs.int-number', [
'id' => 'packageAmount',
'label' => __(':field du :model', [
'field' => Str::ucfirst(__('validation.attributes.amount.day')),
'field' => Str::ucfirst(__('validation.attributes.day')),
'model' => Str::singular(__('models.classes.packages')),
]),
'hasWordCounter' => true,
@ -50,12 +50,12 @@
'model' => $packageModel ?? null,
'helper' => __('validation.min.numeric', [
'attribute' => __(':field du :model', [
'field' => Str::ucfirst(__('validation.attributes.amount.day')),
'field' => Str::ucfirst(__('validation.attributes.day')),
'model' => Str::singular(__('models.classes.packages')),
]),
'min' => 0,
]),
'step' => 0.01
'step' => 0.01,
])
</div>
</div>
@ -64,15 +64,15 @@
</div>
@push('scripts')
<script nonce="{{ $nonce }}">
document.addEventListener("DOMContentLoaded", () => {
// Submit button clone.
const submit = document.getElementById('formSubmit')
<script nonce="{{ $nonce }}">
document.addEventListener("DOMContentLoaded", () => {
// Submit button clone.
const submit = document.getElementById('formSubmit')
submitClone = document.getElementById('formSubmitClone');
submitClone.addEventListener('click', (event) => {
event.preventDefault();
submit.click('');
})
});
</script>
submitClone.addEventListener('click', (event) => {
event.preventDefault();
submit.click('');
})
});
</script>
@endpush

View file

@ -4,63 +4,54 @@
@section('description', __('Liste de tous les :model', ['model' => __('models.classes.packages')]))
@section('content')
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center">
@include('breadcrumbs.breadcrumb-body')
<a href="{{ route('bo.packages.create') }}"
class="btn btn-primary float-right"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="{{ __('crud.helpers.create_model', ['model' => Str::singular(__('models.classes.packages'))]) }}">
<i class="fa-solid fa-plus"></i>
</a>
</div>
@include('bo.modules.search-bar')
<table class="table table-hover">
@if (count($packageModels) > 0)
<thead>
@include('bo.modules.table-col-sorter', [
'cols' => [
'name' => Str::ucfirst(__('validation.attributes.name')),
'amount' => Str::ucfirst(__('validation.attributes.amount.day')),
],
])
</thead>
<tbody>
@foreach ($packageModels as $packageModel)
<tr class="list-item border-bottom">
<td class="text-center align-middle">{{ $packageModel->name }}</td>
<td class="text-center align-middle">{{ $packageModel->amount }}</td>
<td class="text-end align-middle">
<form action="{{ route('bo.packages.destroy', $packageModel->id) }}"
method="POST"
class="btn-group confirmDeleteTS"
novalidate>
<a class="btn btn-sm btn-primary"
href="{{ route('bo.packages.edit', ['package' => $packageModel->id]) }}"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="{{ __('crud.actions.update') }}">
<i class="fa-solid fa-pencil"></i>
</a>
@csrf
@method('DELETE')
<button type="submit"
class="btn btn-sm btn-danger"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="{{ __('crud.actions.delete') }}">
<i class="fa-solid fa-trash"></i>
</button>
</form>
</td>
</tr>
@endforeach
</tbody>
@else
<tr>
<td class="text-center fw-bold border-0">{{ __('crud.other.no_model_found', ['model' => Str::singular(__('models.classes.packages'))]) }}</td>
</tr>
@endif
</table>
{!! $packageModels->links() !!}
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap">
@include('breadcrumbs.breadcrumb-body')
<a class="btn btn-primary float-right" data-bs-toggle="tooltip" data-bs-placement="top" href="{{ route('bo.packages.create') }}"
title="{{ __('crud.helpers.create_model', ['model' => Str::singular(__('models.classes.packages'))]) }}">
<i class="fa-solid fa-plus"></i>
</a>
</div>
@include('bo.modules.search-bar')
<table class="table-hover table">
@if (count($packageModels) > 0)
<thead>
@include('bo.modules.table-col-sorter', [
'cols' => [
'name' => Str::ucfirst(__('validation.attributes.name')),
'amount' => Str::ucfirst(__('validation.attributes.day')),
],
])
</thead>
<tbody>
@foreach ($packageModels as $packageModel)
<tr class="border-bottom list-item">
<td class="text-center align-middle">{{ $packageModel->name }}</td>
<td class="text-center align-middle">{{ $packageModel->amount }}</td>
<td class="text-end align-middle">
<form class="btn-group confirmDeleteTS" action="{{ route('bo.packages.destroy', $packageModel->id) }}"
method="POST" novalidate>
<a class="btn btn-sm btn-primary" data-bs-toggle="tooltip" data-bs-placement="top"
href="{{ route('bo.packages.edit', ['package' => $packageModel->id]) }}"
title="{{ __('crud.actions.update') }}">
<i class="fa-solid fa-pencil"></i>
</a>
@csrf
@method('DELETE')
<button class="btn btn-sm btn-danger" data-bs-toggle="tooltip" data-bs-placement="top" type="submit"
title="{{ __('crud.actions.delete') }}">
<i class="fa-solid fa-trash"></i>
</button>
</form>
</td>
</tr>
@endforeach
</tbody>
@else
<tr>
<td class="fw-bold border-0 text-center">
{{ __('crud.other.no_model_found', ['model' => Str::singular(__('models.classes.packages'))]) }}</td>
</tr>
@endif
</table>
{!! $packageModels->links() !!}
@endsection