add commitments to explorer page selection
This commit is contained in:
parent
a17953deb1
commit
d97071b740
7 changed files with 76 additions and 23 deletions
|
|
@ -7,12 +7,14 @@ use App\Http\Requests\Bo\Commitments\StoreCommitmentRequest;
|
|||
use App\Http\Requests\Bo\Commitments\UpdateCommitmentRequest;
|
||||
use App\Models\Commitment;
|
||||
use App\Traits\Controllers\ChangesModelOrder;
|
||||
use App\Traits\Controllers\UpdateModelPublished;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class CommitmentController extends Controller
|
||||
{
|
||||
use UpdateModelPublished;
|
||||
use ChangesModelOrder;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bo;
|
|||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Bo\Explorerpage\UpdateExplorerpageRequest;
|
||||
use App\Models\Commitment;
|
||||
use App\Models\Explorerpage;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
|
@ -63,7 +64,11 @@ class ExplorerpageController extends Controller
|
|||
*/
|
||||
public function edit(Explorerpage $explorerpage): \Illuminate\Contracts\View\View
|
||||
{
|
||||
return view('bo.pages.explorerpages.edit', ['explorerpageModel' => $explorerpage]);
|
||||
$commitmentModels = Commitment::all();
|
||||
return view('bo.pages.explorerpages.edit', [
|
||||
'explorerpageModel' => $explorerpage,
|
||||
'commitmentModels' => $commitmentModels,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -78,7 +83,8 @@ class ExplorerpageController extends Controller
|
|||
Explorerpage $explorerpage
|
||||
): \Illuminate\Http\RedirectResponse {
|
||||
return DB::transaction(function () use ($request, $explorerpage) {
|
||||
$explorerpage->fill($request->validated());
|
||||
$explorerpage->fill($request->safe()->except('commitments'));
|
||||
$explorerpage->commitments()->sync(\collect($request->validated('commitments'))->pluck('id'));
|
||||
|
||||
if ($explorerpage->saveOrFail()) {
|
||||
return redirect()->route('bo.explorerpages.edit', $explorerpage)
|
||||
|
|
|
|||
|
|
@ -39,12 +39,15 @@ class StoreExplorerpageRequest extends FormRequest
|
|||
public function rules()
|
||||
{
|
||||
$rules = [
|
||||
'picture_1_alt' => 'required|string|between:3,255',
|
||||
'picture_1_title' => 'required|string|between:3,255',
|
||||
'picture_2_alt' => 'required|string|between:3,255',
|
||||
'picture_2_title' => 'required|string|between:3,255',
|
||||
'picture_3_alt' => 'required|string|between:3,255',
|
||||
'picture_3_title' => 'required|string|between:3,255',
|
||||
'picture_1_alt' => 'required|string|between:3,255',
|
||||
'picture_1_title' => 'required|string|between:3,255',
|
||||
'picture_2_alt' => 'required|string|between:3,255',
|
||||
'picture_2_title' => 'required|string|between:3,255',
|
||||
'picture_3_alt' => 'required|string|between:3,255',
|
||||
'picture_3_title' => 'required|string|between:3,255',
|
||||
'commitments' => 'required|array',
|
||||
'commitments.*.id' => 'required|exists:commitments,id',
|
||||
|
||||
];
|
||||
|
||||
return \array_merge(
|
||||
|
|
|
|||
|
|
@ -31,18 +31,14 @@
|
|||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
@can('viewAny', \App\Models\Convictionpage::class)
|
||||
<li>
|
||||
<a class="nav-link @if (request()->routeIs('bo.convictionpages.*')) active @endif" data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.convictionpages.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => Str::of(__('models.classes.convictionpage'))->plural()]) }}">
|
||||
{{ Str::of(__('models.classes.convictionpage'))->plural()->ucfirst() }}
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
<li class="nav-item">
|
||||
<div class="dropdown">
|
||||
<a class="nav-link @if (request()->routeIs('bo.static_pages.*') || request()->routeIs('bo.static_pages.*')) active @endif dropdown-toggle" data-bs-toggle="dropdown" type="button"
|
||||
<a class="nav-link @if (request()->routeIs('bo.static_pages.*') ||
|
||||
request()->routeIs('bo.news.*') ||
|
||||
request()->routeIs('bo.homepages.*') ||
|
||||
request()->routeIs('bo.explorerpages.*') ||
|
||||
request()->routeIs('bo.convictionpages.*') ||
|
||||
request()->routeIs('bo.news.*')) active @endif dropdown-toggle" data-bs-toggle="dropdown" type="button"
|
||||
aria-expanded="false">
|
||||
{{ Str::of(trans_choice('models.classes.static_page', '*'))->title() }}
|
||||
</a>
|
||||
|
|
@ -83,6 +79,15 @@
|
|||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
@can('viewAny', \App\Models\Convictionpage::class)
|
||||
<li>
|
||||
<a class="nav-link @if (request()->routeIs('bo.convictionpages.*')) active @endif" data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.convictionpages.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => Str::of(__('models.classes.convictionpage'))->plural()]) }}">
|
||||
{{ Str::of(__('models.classes.convictionpage'))->plural()->ucfirst() }}
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
</ol>
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -5,8 +5,9 @@
|
|||
'cols' => [
|
||||
'title' => Str::ucfirst(__('validation.attributes.title')),
|
||||
'picture' => Str::ucfirst(__('validation.custom.picture')),
|
||||
'updated_at' => Str::ucfirst(__('validation.attributes.updated_at')),
|
||||
'order' => Str::ucfirst(__('validation.custom.order')),
|
||||
'published' => Str::ucfirst(__('validation.custom.activated')),
|
||||
'updated_at' => Str::ucfirst(__('validation.attributes.updated_at')),
|
||||
],
|
||||
])
|
||||
</thead>
|
||||
|
|
@ -18,9 +19,6 @@
|
|||
<img src="{{ asset($commitmentModel->picture) }}" title="{{ $commitmentModel->picture_title }}"
|
||||
alt="{{ $commitmentModel->picture_alt }}" height="50px">
|
||||
</td>
|
||||
<td class="text-center align-middle">
|
||||
<span class="badge bg-secondary">{{ $commitmentModel->updated_at->isoFormat('LLLL') }}</span>
|
||||
</td>
|
||||
@php
|
||||
$routeName = request()
|
||||
->route()
|
||||
|
|
@ -33,6 +31,13 @@
|
|||
'models' => $commitmentModels,
|
||||
])
|
||||
@endif
|
||||
@include('bo.modules.change-published-status', [
|
||||
'routeName' => 'commitments',
|
||||
'model' => $commitmentModel,
|
||||
])
|
||||
<td class="text-center align-middle">
|
||||
<span class="badge bg-secondary">{{ $commitmentModel->updated_at->isoFormat('LLLL') }}</span>
|
||||
</td>
|
||||
<td class="text-end align-middle">
|
||||
@canAny(['delete', 'duplicate', 'update'], $commitmentModel)
|
||||
<form class="btn-group confirmDeleteTS" action="{{ route('bo.commitments.destroy', $commitmentModel) }}"
|
||||
|
|
|
|||
|
|
@ -221,6 +221,36 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
{{-- COMMITMENTS --}}
|
||||
<div class="col-12 mb-3">
|
||||
<fieldset class="h-100 border p-3">
|
||||
<legend>{{ Str::of(__('models.classes.commitment'))->plural()->ucfirst() }}</legend>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
@include('bo.partials.inputs.pivot-belongsToMany', [
|
||||
'id' => 'explorerpageCommitments',
|
||||
'label' => __(':field :inter:model', [
|
||||
'field' => Str::of(__('models.classes.commitment'))->plural()->ucfirst(),
|
||||
'inter' => __('validation.custom.of_the.female'),
|
||||
'model' => __('models.classes.explorerpage'),
|
||||
]),
|
||||
'name' => 'commitments',
|
||||
'required' => false,
|
||||
'model' => $explorerpageModel ?? null,
|
||||
'itemsList' => $commitmentModels ?? null,
|
||||
'itemLimit' => [3, 12],
|
||||
'placeholder' => 'Rechercher un engagement',
|
||||
'helper' => __('Séléctionnez le ou les :model1 à associer à la :model2 (minimum :min, maximum :max)', [
|
||||
'model1' => Str::plural(__('models.classes.commitment')),
|
||||
'model2' => __('models.classes.explorerpage'),
|
||||
'min' => 3,
|
||||
'max' => 12,
|
||||
]),
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col text-center">
|
||||
<p><b>* {{ __('crud.helpers.required_fields') }}</b></p>
|
||||
|
|
|
|||
|
|
@ -51,10 +51,12 @@ Route::prefix('bo')
|
|||
Route::get('/commitments/{commitment}/duplicate', [
|
||||
CommitmentController::class, 'duplicate'
|
||||
])->name('commitments.duplicate');
|
||||
// Change order.
|
||||
Route::patch('/commitments/{commitment}/change-order/{direction}', [
|
||||
CommitmentController::class, 'changeOrder'
|
||||
])->where('direction', 'up|down')->name('commitments.change-order');
|
||||
Route::patch('/commitments/{commitment}/change-published', [
|
||||
CommitmentController::class, 'changePublished'
|
||||
])->name('commitments.change-published');
|
||||
|
||||
// * STATIC_PAGES
|
||||
Route::resource('pages', StaticPageController::class)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue