119 lines
6.9 KiB
PHP
119 lines
6.9 KiB
PHP
<div class="table-responsive">
|
|
<table class="table fix-action">
|
|
<thead>
|
|
@php
|
|
$cols = [
|
|
'title' => str(__('validation.attributes.title'))->ucFirst(),
|
|
'directory_id' => str(__('models.classes.directory'))->ucFirst(),
|
|
'document_id' => str(__('models.classes.document'))->ucFirst(),
|
|
'type' => str(__('validation.custom.type'))->ucFirst(),
|
|
'order' => str(__('validation.custom.order'))->ucFirst(),
|
|
];
|
|
@endphp
|
|
@include('bo.modules.table-col-sorter', [
|
|
'cols' => $cols,
|
|
'mobileHide' => []
|
|
])
|
|
</thead>
|
|
<tbody>
|
|
@if ($documentModels->count())
|
|
@foreach ($documentModels as $documentModel)
|
|
<tr>
|
|
<td class="text-center align-middle">
|
|
<span>{{ $documentModel->title }}</span>
|
|
</td>
|
|
<td class="text-center align-middle">
|
|
<a href="{{ route('bo.directories.edit', ['tenant' => \tenant(), 'directory' => $documentModel->directory_id]) }}">
|
|
<button class="btn btn-sm btn-outline-dark h-auto"
|
|
title="{{ __('Accéder au dossier associé') }}"
|
|
data-bs-toggle="tooltip">
|
|
{{ $documentModel->directory->name['fr'] }}
|
|
</button>
|
|
</a>
|
|
</td>
|
|
<td class="text-center align-middle">
|
|
@if(!is_null($documentModel->document_id))
|
|
<a href="{{ route('bo.documents.edit', ['tenant' => \tenant(), 'document' => $documentModel->document_id]) }}">
|
|
<button class="btn btn-sm btn-outline-dark h-auto"
|
|
title="{{ __('Accéder au document associé') }}"
|
|
data-bs-toggle="tooltip">
|
|
{{ $documentModel->parentDocument->title }}
|
|
</button>
|
|
</a>
|
|
@endif
|
|
</td>
|
|
<td class="text-center align-middle">
|
|
@foreach(\App\Enums\Documents\TypeEnum::cases() as $typeEnum)
|
|
@if ($documentModel->type === $typeEnum->name())
|
|
<span class="px1"
|
|
title="{{ sprintf('Document de type .%s', $documentModel->type) }}"
|
|
data-bs-toggle="tooltip">
|
|
<i class="fa-solid fa-{{ $typeEnum->icon() }}"></i>
|
|
</span>
|
|
@endif
|
|
@endforeach
|
|
</td>
|
|
@php $routeName = request()->route()->getName(); @endphp
|
|
@if (empty(request()->search) && Session::get("$routeName.sort_col") === 'order')
|
|
@include('bo.modules.change-model-order', [
|
|
'routeName' => 'documents',
|
|
'models' => $documentModels,
|
|
'model' => $documentModel,
|
|
])
|
|
@endif
|
|
<td>
|
|
<div class="btn-group">
|
|
@can('delete', $documentModel)
|
|
<form action="{{ route('bo.documents.destroy', ['tenant' => \tenant(), 'document' => $documentModel]) }}" method="POST"
|
|
class="d-inline confirmDeleteTS">
|
|
@method('DELETE')
|
|
@csrf
|
|
@endcan
|
|
<div class="btn-group" role="group">
|
|
@can('view', $documentModel)
|
|
<a href="{{ asset(sprintf('/storage/docs/%s/%s.%s', \tenant()->getKey(), $documentModel->uuid, $documentModel->type)) }}"
|
|
target="blank"
|
|
class="btn btn-sm btn-warning"
|
|
role="button"
|
|
title="{{ __('Visualiser le :model', ['model' => __('models.classes.document')]) }}"
|
|
data-bs-toggle="tooltip">
|
|
<i class="fa-solid fa-eye"></i>
|
|
</a>
|
|
@endcan
|
|
@can('update', $documentModel)
|
|
<a id="formSubmitClone"
|
|
href="{{ route('bo.documents.edit', ['tenant' => \tenant(), 'document' => $documentModel]) }}"
|
|
class="btn btn-sm btn-primary"
|
|
role="button"
|
|
title="{{ __('Modifier le :model', ['model' => __('models.classes.document')]) }}"
|
|
data-bs-toggle="tooltip">
|
|
<i class="fa-solid fa-pencil"></i>
|
|
</a>
|
|
@endcan
|
|
@can('delete', $documentModel)
|
|
<button class="btn btn-sm btn-danger"
|
|
title="{{ __('Supprimer le :model', ['model' => __('models.classes.document')]) }}"
|
|
data-bs-toggle="tooltip">
|
|
<i class="fa-solid fa-trash"></i>
|
|
</button>
|
|
@endcan
|
|
</div>
|
|
@can('delete', $documentModel)
|
|
</form>
|
|
@endcan
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
@else
|
|
<tr>
|
|
<td colspan="{{ count($cols) + 1 }}" class="text-center">
|
|
<span class="h3">
|
|
{{ __('Aucun résultat pour les :models', ['models' => str(__('models.classes.document'))->plural()]) }}
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
@endif
|
|
</tbody>
|
|
</table>
|
|
</div>
|