feat: can add 3 files for messages and 5 for tickets

This commit is contained in:
Nicolas Demangeat 2024-07-29 14:23:37 +02:00
parent 23e296978d
commit e7c1acf8a4
4 changed files with 29 additions and 52 deletions

View file

@ -255,7 +255,7 @@ class TicketController extends Controller
/** @var null|array<\Illuminate\Http\UploadedFile> */
$fileTickets = $request->file_tickets;
if (count($fileTickets) > 0) {
if (isset($fileTickets) && count($fileTickets) > 0) {
foreach ($fileTickets as $key => $file) {
if ($key === 0) {
$ticket->file = FileStorageHelper::storeFile($ticket, $file);

View file

@ -111,22 +111,15 @@
<div class="form-group mb-3">
<input name="file_tickets[]" type="file" accept="image/png, image/jpeg, image/jpg, .pdf, .pptx, .docx, .xlsx, .csv">
@if (isset($ticket) and $ticket->file !== null)
@if ($i === 1)
<hr>
<div class="text-center">
<img class="img-fluid" src="{{ asset($ticket->file) }}">
</div>
@else
@php
$fileNumber = 'file'. $i;
@endphp
<hr>
<div class="text-center">
<img class="img-fluid" src="{{ asset($ticket->$fileNumber) }}">
</div>
@endif
@endif
</div>
<hr>
@endfor
@can('changeInternalStatus', App\Model\Ticket::class)

View file

@ -225,16 +225,18 @@
<div class="d-flex flex-column">
<div>
<div class="btn-group" role="group">
@if ($ticket->file !== null)
<a class="glightbox btn btn-outline-dark"
data-gallery="gallery{{ $ticket->id }}" href="{{ asset($ticket->file) }}"
target="_blank"><i class="fa-solid fa-file-image"></i></a>
@endif
@if ($ticket->file2 !== null)
<a class="glightbox btn btn-outline-dark {{ $ticket->file !== null ? 'd-none' : '' }}"
data-gallery="gallery{{ $ticket->id }}" href="{{ asset($ticket->file2) }}"
target="_blank"></a>
@endif
@php
$ticket_files = [$ticket->file, $ticket->file2, $ticket->file3, $ticket->file4, $ticket->file5]
@endphp
@foreach($ticket_files as $key => $file)
@if ($file !== null)
<a class="glightbox btn btn-outline-dark"
data-gallery="gallery{{ $ticket->id }}" href="{{ asset($file) }}"
target="_blank"><i class="fa-solid fa-file-image"></i>
</a>
@break
@endif
@endforeach
{{-- Modal du ticket --}}
<!-- Button trigger modal -->
<button class="btn btn-outline-info" data-bs-toggle="modal"

View file

@ -175,9 +175,12 @@
<i class="fa-solid fa-lock"></i>&nbsp;&nbsp;
@endif
{!! \App\Lib\Helpers\ToolboxHelper::plainToHtml($message->message) !!}
@if ($message->file !== null)
<br><a @if(\App\Lib\Helpers\ToolboxHelper::isImageFile($message->file))data-fslightbox="gallery" @endif href="{{ asset($message->file) }}" target="_blank">Ouvrir la pièce jointe</a><br>
@endif<br><br>
@foreach ([$message->file, $message->file2, $message->file3] as $file)
@if ($file !== null)
<br><a href="{{ asset($file) }}" target="_blank">Ouvrir la pièce jointe</a>
@endif
@endforeach
<br><br>
<small class="@if($message->user_id === Auth::user()->id)text-bg-dark @else text-body-secondary @endif fw-bold">
{!! __('Créé le :date par <b>:userName</b>', [
'date' => \Carbon\Carbon::parse($message->created_at)->format('d/m/Y à H:i'),
@ -238,44 +241,23 @@
'userName' => $ticket->user ? $ticket->user->name : __('Utilisateur supprimé')
]) !!}</small>
</div>
@if (!is_null($ticket->file) or !is_null($ticket->file2))
<hr>
@php
$ticket_files = [$ticket->file, $ticket->file2, $ticket->file3, $ticket->file4, $ticket->file5]
@endphp
<div>
<h4>{{ __('Pièces jointes') }}</h4>
@foreach($ticket_files as $key => $file)
@if (!is_null($file))
<ul>
@if (!is_null($ticket->file))
<li>
{{ __('Pièce jointe n°1') }} :
<a @if(\App\Lib\Helpers\ToolboxHelper::isImageFile($ticket->file)) class="glightbox" data-gallery="ticket" @endif href="{{ asset($ticket->file) }}" target="_blank">{{ __('Ouvrir la pièce jointe') }}</a>
{{ __('Pièce jointe ') }}{{ $key + 1 }} :
<a @if(\App\Lib\Helpers\ToolboxHelper::isImageFile($file)) class="glightbox" data-gallery="ticket" @endif href="{{ asset($file) }}" target="_blank">{{ __('Ouvrir la pièce jointe') }}</a>
</li>
@endif
@if (!is_null($ticket->file2))
<li>
{{ __('Pièce jointe n°2') }} :
<a @if(\App\Lib\Helpers\ToolboxHelper::isImageFile($ticket->file2)) class="glightbox" data-gallery="ticket" @endif href="{{ asset($ticket->file2) }}" target="_blank">{{ __('Ouvrir la pièce jointe') }}</a>
</li>
@endif
@if (!is_null($ticket->file3))
<li>
{{ __('Pièce jointe n°3') }} :
<a @if(\App\Lib\Helpers\ToolboxHelper::isImageFile($ticket->file3)) class="glightbox" data-gallery="ticket" @endif href="{{ asset($ticket->file3) }}" target="_blank">{{ __('Ouvrir la pièce jointe') }}</a>
</li>
@endif
@if (!is_null($ticket->file4))
<li>
{{ __('Pièce jointe n°4') }} :
<a @if(\App\Lib\Helpers\ToolboxHelper::isImageFile($ticket->file4)) class="glightbox" data-gallery="ticket" @endif href="{{ asset($ticket->file4) }}" target="_blank">{{ __('Ouvrir la pièce jointe') }}</a>
</li>
@endif
@if (!is_null($ticket->file5))
<li>
{{ __('Pièce jointe n°5') }} :
<a @if(\App\Lib\Helpers\ToolboxHelper::isImageFile($ticket->file5)) class="glightbox" data-gallery="ticket" @endif href="{{ asset($ticket->file5) }}" target="_blank">{{ __('Ouvrir la pièce jointe') }}</a>
</li>
@endif
</ul>
</div>
@endif
@endforeach
<hr>
@can('createGitlabIssue', $ticket)
<form action="{{ route('bo.ticket.create-issue', $ticket) }}" method="POST" id="form_issue" class="col d-flex justify-content-end">
@csrf