refactor: ♻️ upgrade sidemenu bo to remove static_pages & configuration buttons
This commit is contained in:
parent
05e667df5b
commit
a70f082d5d
73 changed files with 318 additions and 561 deletions
|
|
@ -24,7 +24,7 @@ enum SettingsType: int
|
|||
private const LABELS = [
|
||||
self::mainMenu->name => 'Menu principal',
|
||||
self::hotNews->name => 'Infos chaudes',
|
||||
self::recipes->name => 'Listage des recettes',
|
||||
self::recipe->name => 'Fiche recette',
|
||||
self::recipes->name => 'Page des recettes',
|
||||
self::recipe->name => 'Page d\'une recette',
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ enum StaticPageType: int
|
|||
self::legals->name => 'Mentions légales',
|
||||
self::confidentiality->name => 'Confidentialité',
|
||||
self::recruitment->name => 'Recrutement',
|
||||
self::story->name => 'Qui sommes nous ?',
|
||||
self::story->name => 'Qui sommes-nous ?',
|
||||
self::saga->name => 'Saga publicitaire',
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,12 +91,12 @@ class ConsumptionMomentController extends Controller
|
|||
if ($consumptionMoment->saveOrFail()) {
|
||||
return redirect()->route('bo.consumption_moments.edit', $consumptionMoment)
|
||||
->with('success', __('crud.messages.has_been_created', [
|
||||
'model' => Str::ucfirst(__('models.classes.consumption_moment'))
|
||||
'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1))
|
||||
]));
|
||||
}
|
||||
return redirect()->back()
|
||||
->with('error', __('crud.messages.cannot_be_created', [
|
||||
'model' => Str::ucfirst(__('models.classes.consumption_moment'))
|
||||
'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1))
|
||||
]));
|
||||
});
|
||||
}
|
||||
|
|
@ -129,12 +129,12 @@ class ConsumptionMomentController extends Controller
|
|||
if ($consumptionMoment->saveOrFail()) {
|
||||
return redirect()->route('bo.consumption_moments.edit', $consumptionMoment)
|
||||
->with('success', __('crud.messages.has_been_updated', [
|
||||
'model' => Str::ucfirst(__('models.classes.consumption_moment'))
|
||||
'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1))
|
||||
]));
|
||||
}
|
||||
return redirect()->route('bo.consumption_moments.edit', $consumptionMoment)
|
||||
->with('error', __('crud.messages.cannot_be_updated', [
|
||||
'model' => Str::ucfirst(__('models.classes.consumption_moment'))
|
||||
'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1))
|
||||
]));
|
||||
});
|
||||
}
|
||||
|
|
@ -153,12 +153,12 @@ class ConsumptionMomentController extends Controller
|
|||
if ($consumptionMoment->deleteOrFail()) {
|
||||
return redirect()->route('bo.consumption_moments.index', $previousQueries)
|
||||
->with('success', __('crud.messages.has_been_deleted', [
|
||||
'model' => Str::ucfirst(__('models.classes.consumption_moment'))
|
||||
'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1))
|
||||
]));
|
||||
}
|
||||
return redirect()->back()
|
||||
->with('error', __('crud.messages.cannot_be_deleted', [
|
||||
'model' => Str::ucfirst(__('models.classes.consumption_moment'))
|
||||
'model' => Str::ucfirst(trans_choice('models.classes.consumption_moment', 1))
|
||||
]));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ use App\Http\Controllers\Controller;
|
|||
use App\Http\Requests\Bo\GeneralSettings\UpdateGeneralSettingRequest;
|
||||
use App\Lib\Helpers\FileStorageHelper;
|
||||
use App\Models\GeneralSetting;
|
||||
use Illuminate\Database\Query\Builder;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
|
|
@ -22,42 +20,6 @@ class GeneralSettingController extends Controller
|
|||
$this->authorizeResource(GeneralSetting::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function index(Request $request): \Illuminate\Contracts\View\View
|
||||
{
|
||||
/** @var \Illuminate\Database\Eloquent\Builder $query */
|
||||
$query = GeneralSetting::query();
|
||||
|
||||
/** @var string $search Search field */
|
||||
$search = $request->search;
|
||||
if ($search) {
|
||||
$this->searchQuery(
|
||||
$query,
|
||||
$search,
|
||||
fn (Builder $q) => $q->whereIn('type', collect(SettingsType::all())
|
||||
->filter(fn (SettingsType $type) => str($type->label())->contains($search) or
|
||||
str($type->value())->contains($search))),
|
||||
'type',
|
||||
);
|
||||
}
|
||||
$searchFields = \implode(', ', [
|
||||
trans('validation.custom.general_setting_type'),
|
||||
]);
|
||||
|
||||
/** Sort columns with a query */
|
||||
$this->sortQuery($query);
|
||||
|
||||
/** Custom pagination */
|
||||
$generalSettingsModelList = $this->paginate($query);
|
||||
|
||||
return view('bo.pages.general_settings.index', compact('generalSettingsModelList', 'search', 'searchFields'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ namespace App\Http\Controllers\Bo;
|
|||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Bo\StaticPages\UpdateStaticPageRequest;
|
||||
use App\Models\StaticPage;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
|
|
@ -19,40 +18,6 @@ class StaticPageController extends Controller
|
|||
$this->authorizeResource(StaticPage::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function index(Request $request): \Illuminate\Contracts\View\View
|
||||
{
|
||||
/** @var \Illuminate\Database\Eloquent\Builder $query */
|
||||
$query = StaticPage::query();
|
||||
|
||||
/** @var string $search Search field */
|
||||
$search = $request->search;
|
||||
if ($search) {
|
||||
$this->searchQuery(
|
||||
$query,
|
||||
$search,
|
||||
null,
|
||||
'title',
|
||||
);
|
||||
}
|
||||
$searchFields = \implode(', ', [
|
||||
trans('validation.attributes.title'),
|
||||
]);
|
||||
|
||||
/** Sort columns with a query */
|
||||
$this->sortQuery($query);
|
||||
|
||||
/** Custom pagination */
|
||||
$staticPageModelList = $this->paginate($query);
|
||||
|
||||
return view('bo.pages.static_pages.index', compact('staticPageModelList', 'search', 'searchFields'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -3,9 +3,11 @@
|
|||
namespace App\Providers;
|
||||
|
||||
use App\Enums\Settings\SettingsType;
|
||||
use App\Enums\StaticPageType;
|
||||
use App\Models\GeneralSetting;
|
||||
use App\Models\Meat;
|
||||
use App\Models\Range;
|
||||
use App\Models\StaticPage;
|
||||
use Illuminate\Pagination\Paginator;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
|
@ -18,9 +20,11 @@ class ViewServiceProvider extends ServiceProvider
|
|||
* Bootstrap any application services.
|
||||
*
|
||||
* @return void
|
||||
* phpcs:disable Generic.Metrics.CyclomaticComplexity.TooHigh
|
||||
*/
|
||||
public function boot(): void
|
||||
{
|
||||
// phpcs:enable
|
||||
$appInfos = Cache::remember('composer', 360, function () {
|
||||
return json_decode(File::get(\app_path('../composer.json')));
|
||||
});
|
||||
|
|
@ -54,37 +58,39 @@ class ViewServiceProvider extends ServiceProvider
|
|||
})());
|
||||
View::share('menuNodeDataList', app('menuNodeDataList'));
|
||||
|
||||
// * Inject first meat and range : needed for the bo menu.
|
||||
View::share('firstMeat', (function () {
|
||||
/** @var \App\Models\Meat|null */
|
||||
$firstMeat = Meat::query()->first();
|
||||
return (!$firstMeat) ? null : $firstMeat;
|
||||
})());
|
||||
View::share('firstRange', (function () {
|
||||
/** @var \App\Models\Range|null */
|
||||
$firstRange = Range::query()->first();
|
||||
return (!$firstRange) ? null : $firstRange;
|
||||
})());
|
||||
|
||||
// * Inject configuration model
|
||||
View::share('mainMenuSettingModel', (function () {
|
||||
/** @var \App\Models\GeneralSetting|null */
|
||||
$mainMenuSettingModel = GeneralSetting::query()->where('type', SettingsType::mainMenu)->first();
|
||||
return (!$mainMenuSettingModel) ? null : $mainMenuSettingModel;
|
||||
return GeneralSetting::query()->where('type', SettingsType::mainMenu)->first() ?: null;
|
||||
})());
|
||||
View::share('hotNewsSettingModel', (function () {
|
||||
/** @var \App\Models\GeneralSetting|null */
|
||||
$hotNewsSettingModel = GeneralSetting::query()->where('type', SettingsType::hotNews)->first();
|
||||
return (!$hotNewsSettingModel) ? null : $hotNewsSettingModel;
|
||||
return GeneralSetting::query()->where('type', SettingsType::hotNews)->first() ?: null;
|
||||
})());
|
||||
View::share('recipeSettingModel', (function () {
|
||||
/** @var \App\Models\GeneralSetting|null */
|
||||
$recipeSettingModel = GeneralSetting::query()->where('type', SettingsType::recipe)->first();
|
||||
return (!$recipeSettingModel) ? null : $recipeSettingModel;
|
||||
return GeneralSetting::query()->where('type', SettingsType::recipe)->first() ?: null;
|
||||
})());
|
||||
View::share('recipesSettingModel', (function () {
|
||||
return GeneralSetting::query()->where('type', SettingsType::recipes)->first() ?: null;
|
||||
})());
|
||||
|
||||
// * Inject some data for the bo menu.
|
||||
View::share('firstMeat', (function () {
|
||||
return Meat::query()->first() ?: null;
|
||||
})());
|
||||
View::share('firstRange', (function () {
|
||||
return Range::query()->first() ?: null;
|
||||
})());
|
||||
View::share('mainMenuMeatModels', (function () {
|
||||
return Meat::query()->where('published', true)->get();
|
||||
})());
|
||||
View::share('storyStaticPageModel', (function () {
|
||||
return StaticPage::query()->where('type', StaticPageType::story)->first() ?: null;
|
||||
})());
|
||||
View::share('recruitmentStaticPageModel', (function () {
|
||||
return StaticPage::query()->where('type', StaticPageType::recruitment)->first() ?: null;
|
||||
})());
|
||||
View::share('sagaStaticPageModel', (function () {
|
||||
return StaticPage::query()->where('type', StaticPageType::saga)->first() ?: null;
|
||||
})());
|
||||
} //end if
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ return [
|
|||
'save' => 'sauvegarder',
|
||||
'edit' => 'mettre à jour',
|
||||
'view' => 'aperçu',
|
||||
'order_submodels' => 'ordonner les sous-élements',
|
||||
'order_submodels' => 'ordonnancement des sous-élements',
|
||||
],
|
||||
|
||||
'helpers' => [
|
||||
|
|
@ -24,7 +24,6 @@ return [
|
|||
'delete_model' => 'Supprimer :model',
|
||||
'save_model' => 'Sauvegarder :model',
|
||||
'edit_model' => 'Mettre à jour :model',
|
||||
'order_submodels' => 'Modifier l\'ordre des :model',
|
||||
'no_results' => 'Aucun résultat pour :model',
|
||||
'publish' => 'Publié',
|
||||
'unpublish' => 'Dépublié',
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ return [
|
|||
'submeat' => 'sous-viande',
|
||||
'label' => 'label',
|
||||
'demarche' => 'démarche',
|
||||
'consumption_moment' => 'moment de consommation',
|
||||
'consumption_moment' => 'moment de consommation|moments de consommation',
|
||||
'video' => 'vidéo',
|
||||
'product' => 'produit',
|
||||
'recipe' => 'recette',
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ body {
|
|||
left: 0;
|
||||
overflow-y: auto;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
@include media-breakpoint-up(lg) {
|
||||
z-index: 1;
|
||||
height: calc(100vh - #{$bo-header-height});
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ body {
|
|||
.sidemenu {
|
||||
height: calc(100vh - #{$bo-header-height});
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
@include media-breakpoint-up(lg) {
|
||||
height: fit-content;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
@use 'sass:map';
|
||||
@import 'bootstrap/scss/functions';
|
||||
|
||||
// Override bootstrap colors
|
||||
$primary: $color-primary;
|
||||
$secondary: $color-secondary;
|
||||
|
|
@ -22,3 +25,13 @@ $theme-colors: (
|
|||
$font-family-base: $font-default-family-base;
|
||||
$font-size-base: $font-default-size-base;
|
||||
$line-height-base: $line-default-height-base;
|
||||
$grid-breakpoints: map.merge((
|
||||
xs: 0,
|
||||
sm: 576px,
|
||||
md: 768px,
|
||||
lg: 992px,
|
||||
xl: 1200px,
|
||||
xxl: 1400px
|
||||
), (
|
||||
xxxl: 1700px,
|
||||
))
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
id="main-container">
|
||||
<div class="row justify-content-center @guest w-100 mx-auto @endguest">
|
||||
@include('bo.layouts.sidemenu')
|
||||
<div class="@auth('backend') col-md-8 col-lg-9 col-xxl-10 ms-sm-auto p-3 py-2 py-md-3 @else col px-md-4 pb-5 @endauth">
|
||||
<div class="@auth('backend') col-12 col-lg-8 col-xl-9 col-xxxl-10 ms-sm-auto p-3 py-2 py-md-3 @else col px-md-4 pb-5 @endauth">
|
||||
@auth('backend')
|
||||
@include('modules.flash-messages')
|
||||
@endauth
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
<header class="navbar @auth('backend') navbar-expand-md @else navbar-expand @endauth position-fixed fixed-top bg-body-tertiary shadow-sm"
|
||||
<header
|
||||
class="navbar @auth('backend') navbar-expand-lg @else navbar-expand @endauth position-fixed fixed-top bg-body-tertiary shadow-sm"
|
||||
id="top-navbar">
|
||||
<div class="container-fluid">
|
||||
{{-- BUTTON MENU NAVIGATION --}}
|
||||
@auth('backend')
|
||||
<button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#menuNavigation" type="button" aria-controls="menuNavigation"
|
||||
aria-expanded="false" aria-label="{{ __('Afficher/Masquer le menu de navigation') }}">
|
||||
<button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#menuNavigation" type="button"
|
||||
aria-controls="menuNavigation" aria-expanded="false"
|
||||
aria-label="{{ __('Afficher/Masquer le menu de navigation') }}">
|
||||
<i class="fa-solid fa-ellipsis-vertical fa-lg"></i>
|
||||
</button>
|
||||
@endauth
|
||||
<a class="navbar-brand fs-4 fw-bold @canAny(['isConceptor', 'viewAny'], \App\Models\User::class) border-md-end @endcan me-md-2 pe-md-3 m-0 p-0"
|
||||
<a class="navbar-brand fs-4 fw-bold @canAny(['isConceptor', 'viewAny'], \App\Models\User::class) border-lg-end @endcan me-lg-2 pe-lg-3 m-0 p-0"
|
||||
data-bs-toggle="tooltip" data-bs-placement="bottom" href="{{ route('fo.home.show') }}"
|
||||
title="{{ __('Accéder au front du projet') }}" target="_blank">
|
||||
{{ config('app.name', 'Laravel') }}
|
||||
|
|
@ -30,18 +32,6 @@
|
|||
<!-- Left Side Of Navbar -->
|
||||
@canAny(['isConceptor', 'viewAny'], \App\Models\User::class)
|
||||
<ul class="navbar-nav me-auto">
|
||||
@can('viewAny', \App\Models\GeneralSetting::class)
|
||||
<li class="nav-item">
|
||||
<a @class([
|
||||
'nav-link d-flex align-items-center h-100',
|
||||
'active' => request()->routeIs('bo.general_settings.*'),
|
||||
])
|
||||
data-bs-toggle="tooltip" href="{{ route('bo.general_settings.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.general_setting', \INF)]) }}">
|
||||
{{ str(trans_choice('models.classes.general_setting', \INF))->ucfirst() }}
|
||||
</a>
|
||||
</li>
|
||||
@endcan
|
||||
@can('viewAny', \App\Models\User::class)
|
||||
<li class="nav-item">
|
||||
<a @class([
|
||||
|
|
@ -71,54 +61,71 @@
|
|||
<!-- Right Side Of Navbar -->
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<!-- Bootstrap themes -->
|
||||
<li class="nav-item dropdown @auth('backend') border-md-end @endauth">
|
||||
<li class="nav-item dropdown @auth('backend') border-lg-end @endauth">
|
||||
<button class="btn nav-link dropdown-toggle d-flex align-items-center h-100 flex-row border-0 pe-3"
|
||||
data-bs-toggle="dropdown" type="button" aria-expanded="false" aria-label="Changer les couleurs de l'interface du back-office">
|
||||
<span class="fa-solid fa-paint-roller"></span>
|
||||
<i class="d-none d-xl-block fa-solid fa-paint-roller"></i>
|
||||
<span class="d-xl-none">{{ __('Thème') }}</span>
|
||||
</button>
|
||||
<form class="dropdown-menu dropdown-menu-end text-center" id="theme-selector" action="{{ route('bo.theme.set') }}"
|
||||
method="POST">
|
||||
@push('scripts')
|
||||
<script @if (!empty($nonce)) nonce="{{ $nonce }}" @endif> document.addEventListener('DOMContentLoaded', function() { const themeSelector = document.getElementById('theme-selector'); if (themeSelector) { themeSelector.addEventListener('change', function() { this.submit(); }); } }); </script> @endpush @csrf @use('\App\Enums\Theme\BootstrapThemeEnum', 'BootstrapThemeEnum') @foreach (BootstrapThemeEnum::toArray() as $key => $bootstrapTheme) <input class="btn-check"
|
||||
id="theme{{ $key }}" name="theme" type="radio" value="{{ $bootstrapTheme->value }}">
|
||||
<label for="theme{{ $key }}" @class([
|
||||
'dropdown-item btn btn-secondary py-2',
|
||||
'active' => !is_null(Cache::get('theme'))
|
||||
? $bootstrapTheme->value === intval(Cache::get('theme'))
|
||||
: $bootstrapTheme->value === BootstrapThemeEnum::light->value,
|
||||
])>{{ str($bootstrapTheme->label)->ucFirst() }}</label>
|
||||
@endforeach
|
||||
</form>
|
||||
</li>
|
||||
<!-- Authentication Links -->
|
||||
@auth('backend')
|
||||
<li class="nav-item dropdown">
|
||||
<button class="btn nav-link dropdown-toggle d-flex align-items-center h-100 ps-md-3 flex-row border-0" id="navbarDropdown"
|
||||
data-bs-toggle="dropdown" type="button">
|
||||
<div class="d-flex flex-column align-items-start align-items-md-end lh-1">
|
||||
<span
|
||||
class="fw-bold">{{ auth('backend')->user()->first_name }} {{ auth('backend')->user()->last_name }}</span>
|
||||
<small class="text-secondary-body">{{ str(auth('backend')->user()->role->label())->ucFirst() }}</small>
|
||||
</div>
|
||||
</button>
|
||||
<div class="dropdown-menu dropdown-menu-end m-0 text-center" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item w-100 text-decoration-none p-2" data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
href="{{ route('bo.users.edit', auth('backend')->user()->getKey()) }}" title="{{ __('Accéder à son profile') }}">
|
||||
{{ __('Profile') }}
|
||||
</a>
|
||||
<hr class="dropdown-divider m-0">
|
||||
<form class="m-0 text-center" id="logout-form" action="{{ route('bo.logout') }}" method="POST">
|
||||
<script @if (!empty($nonce)) nonce="{{ $nonce }}" @endif>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const themeSelector = document.getElementById('theme-selector');
|
||||
if (themeSelector) {
|
||||
themeSelector.addEventListener('change', function() {this.submit(); });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@csrf
|
||||
<button class="dropdown-item w-100 text-decoration-none p-2" data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
type="submit" title="{{ __('Se déconnecter du back-office') }}">
|
||||
{{ __('Déconnexion') }}
|
||||
</button>
|
||||
@use('\App\Enums\Theme\BootstrapThemeEnum', 'BootstrapThemeEnum')
|
||||
@foreach (BootstrapThemeEnum::toArray() as $key => $bootstrapTheme)
|
||||
<input class="btn-check" id="theme{{ $key }}" name="theme" type="radio"
|
||||
value="{{ $bootstrapTheme->value }}">
|
||||
<label for="theme{{ $key }}" @class([
|
||||
'dropdown-item btn btn-secondary py-2',
|
||||
'active' => !is_null(Cache::get('theme'))
|
||||
? $bootstrapTheme->value === intval(Cache::get('theme'))
|
||||
: $bootstrapTheme->value === BootstrapThemeEnum::light->value,
|
||||
])>{{ str($bootstrapTheme->label)->ucFirst() }}</label>
|
||||
@endforeach
|
||||
</form>
|
||||
</div>
|
||||
</li>
|
||||
@endauth
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<!-- Authentication Links -->
|
||||
@auth('backend')
|
||||
<li class="nav-item dropdown">
|
||||
<button class="btn nav-link dropdown-toggle d-flex align-items-center h-100 ps-lg-3 flex-row border-0"
|
||||
id="navbarDropdown" data-bs-toggle="dropdown" type="button">
|
||||
<div class="d-flex flex-column align-items-start align-items-lg-end lh-1">
|
||||
<span class="fw-bold">
|
||||
{{ auth('backend')->user()->first_name }} {{ auth('backend')->user()->last_name }}
|
||||
</span>
|
||||
<small class="text-secondary-body">
|
||||
{{ str(auth('backend')->user()->role->label())->ucFirst() }}
|
||||
</small>
|
||||
</div>
|
||||
</button>
|
||||
<div class="dropdown-menu dropdown-menu-end m-0 text-center" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item w-100 text-decoration-none p-2" data-bs-toggle="tooltip"
|
||||
data-bs-placement="left" href="{{ route('bo.users.edit', auth('backend')->user()->getKey()) }}"
|
||||
title="{{ __('Accéder à son profile') }}">
|
||||
{{ __('Profile') }}
|
||||
</a>
|
||||
<hr class="dropdown-divider m-0">
|
||||
<form class="m-0 text-center" id="logout-form" action="{{ route('bo.logout') }}" method="POST">
|
||||
@csrf
|
||||
<button class="dropdown-item w-100 text-decoration-none p-2" data-bs-toggle="tooltip"
|
||||
data-bs-placement="left" type="submit" title="{{ __('Se déconnecter du back-office') }}">
|
||||
{{ __('Déconnexion') }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</li>
|
||||
@endauth
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
@use('\App\Enums\Approaches\ApproachTypeEnum', 'ApproachTypeEnum')
|
||||
@auth('backend')
|
||||
<nav class="col-md-4 col-lg-3 col-xxl-2 d-md-block bg-body-tertiary sidebar collapse overflow-x-visible"
|
||||
<nav class="col-lg-4 col-xl-3 col-xxxl-2 d-lg-block bg-body-tertiary sidebar collapse overflow-x-visible"
|
||||
id="menuNavigation">
|
||||
<div class="sidemenu py-2">
|
||||
{{-- HOME --}}
|
||||
|
|
@ -15,21 +15,6 @@
|
|||
])></i>
|
||||
{{ __('Accueil administration') }}
|
||||
</a>
|
||||
|
||||
{{-- STATIC PAGES --}}
|
||||
<a data-bs-toggle="tooltip" href="{{ route('bo.static_pages.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.static_page', \INF)]) }}"
|
||||
role="button" @class([
|
||||
'btn btn-primary w-100 text-start mt-1',
|
||||
'fw-bold active' => request()->routeIs('bo.static_pages.*'),
|
||||
])>
|
||||
<i @class([
|
||||
"fa-solid fa-file me-1 fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.static_pages.*')
|
||||
])></i>
|
||||
{{ str(trans_choice('models.classes.static_page', \INF))->ucFirst() }}
|
||||
</a>
|
||||
|
||||
{{-- HOME PAGE --}}
|
||||
<div class="dropdown">
|
||||
<button data-bs-toggle="dropdown" type="button" aria-expanded="false" @class([
|
||||
|
|
@ -50,8 +35,8 @@
|
|||
{{ __('Accueil du site') }}
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{{-- MAIN MENU --}}
|
||||
<li class="py-1">
|
||||
{{-- MAIN MENU --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->is('bo/general_settings/1/edit')
|
||||
|
|
@ -64,8 +49,8 @@
|
|||
])></i> {{ $mainMenuSettingModel->type->label() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- MAIN CARROUSELS --}}
|
||||
<li class="py-1">
|
||||
{{-- MAIN CARROUSELS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.main_slides.*')
|
||||
|
|
@ -79,8 +64,8 @@
|
|||
{{ str(__('models.classes.main_slide'))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- HOT NEWS --}}
|
||||
<li class="py-1">
|
||||
{{-- HOT NEWS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->is('bo/general_settings/2/edit')
|
||||
|
|
@ -94,8 +79,8 @@
|
|||
{{ $hotNewsSettingModel->type->label() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- DEMARCHES CARROUSELS --}}
|
||||
<li class="py-1">
|
||||
{{-- DEMARCHES CARROUSELS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.demarche_slides.*')
|
||||
|
|
@ -111,23 +96,39 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{-- WHO ARE WE PAGE --}}
|
||||
<div class="dropdown">
|
||||
<button data-bs-toggle="dropdown" type="button" aria-expanded="false" @class([
|
||||
'btn btn-primary text-start w-100 dropdown-toggle mt-1',
|
||||
'fw-bold active' =>
|
||||
url()->current() === route('bo.static_pages.edit', $storyStaticPageModel->type->value()) ||
|
||||
request()->routeIs('bo.key_numbers.*'),
|
||||
])>
|
||||
<i @class([
|
||||
"fa-solid fa-circle-question fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.key_numbers.*')
|
||||
'fa-lg' =>
|
||||
url()->current() === route('bo.static_pages.edit', $storyStaticPageModel->type->value()) ||
|
||||
request()->routeIs('bo.key_numbers.*')
|
||||
])></i>
|
||||
{{ __('Qui sommes nous ?') }}
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{{-- WHO ARE WE PAGE --}}
|
||||
<li class="py-1">
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => url()->current() === route('bo.static_pages.edit', $storyStaticPageModel->type->value())
|
||||
]) data-bs-toggle="tooltip" href="{{ route('bo.static_pages.edit', $storyStaticPageModel) }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => $storyStaticPageModel->type->label()]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-file fa-fw",
|
||||
'fa-lg' => url()->current() === route('bo.static_pages.edit', $storyStaticPageModel->type->value())
|
||||
])></i>
|
||||
{{ sprintf('Page %s', $storyStaticPageModel->type->label()) }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- KEYNUMBERS --}}
|
||||
<li class="py-1">
|
||||
{{-- KEYNUMBERS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.key_numbers.*')
|
||||
|
|
@ -143,23 +144,39 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{-- ADVERTISING SAGA PAGE --}}
|
||||
<div class="dropdown">
|
||||
<button data-bs-toggle="dropdown" type="button" aria-expanded="false" @class([
|
||||
'btn btn-primary text-start w-100 dropdown-toggle mt-1',
|
||||
'fw-bold active' =>
|
||||
url()->current() === route('bo.static_pages.edit', $sagaStaticPageModel->type->value()) ||
|
||||
request()->routeIs('bo.videos.*'),
|
||||
])>
|
||||
<i @class([
|
||||
"fa-solid fa-rectangle-ad fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.videos.*')
|
||||
'fa-lg' =>
|
||||
url()->current() === route('bo.static_pages.edit', $sagaStaticPageModel->type->value()) ||
|
||||
request()->routeIs('bo.videos.*')
|
||||
])></i>
|
||||
{{ __('Saga publicitaire') }}
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{{-- ADVERTISING SAGA PAGE --}}
|
||||
<li class="py-1">
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => url()->current() === route('bo.static_pages.edit', $sagaStaticPageModel->type->value())
|
||||
]) data-bs-toggle="tooltip" href="{{ route('bo.static_pages.edit', $sagaStaticPageModel) }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => $sagaStaticPageModel->type->label()]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-file fa-fw",
|
||||
'fa-lg' => url()->current() === route('bo.static_pages.edit', $sagaStaticPageModel->type->value())
|
||||
])></i>
|
||||
{{ sprintf('Page %s', $sagaStaticPageModel->type->label()) }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- VIDEOS --}}
|
||||
<li class="py-1">
|
||||
{{-- VIDEOS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.videos.*')
|
||||
|
|
@ -170,31 +187,46 @@
|
|||
"fa-solid fa-film me-1 fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.videos.*')
|
||||
])></i>
|
||||
{{ str(__('models.classes.video'))->ucFirst() }}
|
||||
{{ str(__('models.classes.video'))->ucFirst()->plural() }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{-- RECRUITMENT PAGE --}}
|
||||
<div class="dropdown">
|
||||
<button data-bs-toggle="dropdown" type="button" aria-expanded="false" @class([
|
||||
'btn btn-primary text-start w-100 dropdown-toggle mt-1',
|
||||
'fw-bold active' =>
|
||||
url()->current() === route('bo.static_pages.edit', $recruitmentStaticPageModel->type->value()) ||
|
||||
request()->routeIs('bo.professions.*') ||
|
||||
request()->routeIs('bo.brand_advantages.*'),
|
||||
])>
|
||||
<i @class([
|
||||
"fa-solid fa-briefcase fa-fw",
|
||||
'fa-lg' =>
|
||||
url()->current() === route('bo.static_pages.edit', $recruitmentStaticPageModel->type->value()) ||
|
||||
request()->routeIs('bo.professions.*') ||
|
||||
request()->routeIs('bo.brand_advantages.*'),
|
||||
])></i>
|
||||
{{ __('Recrutement') }}
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{{-- RECRUITMENT PAGE --}}
|
||||
<li class="py-1">
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => url()->current() === route('bo.static_pages.edit', $recruitmentStaticPageModel->type->value())
|
||||
]) data-bs-toggle="tooltip" href="{{ route('bo.static_pages.edit', $recruitmentStaticPageModel) }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => $recruitmentStaticPageModel->type->label()]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-file fa-fw",
|
||||
'fa-lg' => url()->current() === route('bo.static_pages.edit', $recruitmentStaticPageModel->type->value())
|
||||
])></i>
|
||||
{{ sprintf('Page %s', $recruitmentStaticPageModel->type->label()) }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- PROFESSIONS --}}
|
||||
<li class="py-1">
|
||||
{{-- PROFESSIONS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.professions.*')
|
||||
|
|
@ -205,11 +237,11 @@
|
|||
"fa-solid fa-user-tie me-1 fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.professions.*')
|
||||
])></i>
|
||||
{{ str(__('models.classes.profession'))->ucFirst() }}
|
||||
{{ str(__('models.classes.profession'))->ucFirst()->plural() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- BRAND ADVANTAGES --}}
|
||||
<li class="py-1">
|
||||
{{-- BRAND ADVANTAGES --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.brand_advantages.*')
|
||||
|
|
@ -225,14 +257,14 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{-- RECIPES PAGE --}}
|
||||
<div class="dropdown">
|
||||
<button data-bs-toggle="dropdown" type="button" aria-expanded="false" @class([
|
||||
'btn btn-primary text-start w-100 dropdown-toggle mt-1',
|
||||
'fw-bold active' =>
|
||||
request()->routeIs('bo.recipes.*') ||
|
||||
request()->is('bo/general_settings/3/edit') ||
|
||||
url()->current() === route('bo.general_settings.edit', $recipeSettingModel->type->value()) ||
|
||||
url()->current() === route('bo.general_settings.edit', $recipesSettingModel->type->value()) ||
|
||||
request()->routeIs('bo.consumption_moments.*'),
|
||||
])>
|
||||
<i @class([
|
||||
|
|
@ -241,25 +273,39 @@
|
|||
request()->routeIs('bo.recipes.*') ||
|
||||
request()->routeIs('bo.consumption_moments.*'),
|
||||
])></i>
|
||||
{{ __('Listing Recettes') }}
|
||||
{{ __('Section Recettes') }}
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{{-- RECIPES PAGE --}}
|
||||
<li class="py-1">
|
||||
{{-- RECIPES PAGE --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->is('bo/general_settings/3/edit')
|
||||
'fw-bold text-bg-secondary' => url()->current() === route('bo.general_settings.edit', $recipeSettingModel->type->value())
|
||||
]) data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.general_settings.edit', $recipeSettingModel) }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => $recipeSettingModel->type->label()]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-kitchen-set fa-fw",
|
||||
'fa-lg' => request()->is('bo/general_settings/3/edit')
|
||||
"fa-solid fa-file fa-fw",
|
||||
'fa-lg' => url()->current() === route('bo.general_settings.edit', $recipeSettingModel->type->value())
|
||||
])></i> {{ $recipeSettingModel->type->label() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- RECIPES PAGE --}}
|
||||
<li class="py-1">
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => url()->current() === route('bo.general_settings.edit', $recipesSettingModel->type->value())
|
||||
]) data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.general_settings.edit', $recipesSettingModel) }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => $recipesSettingModel->type->label()]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-file fa-fw",
|
||||
'fa-lg' => url()->current() === route('bo.general_settings.edit', $recipesSettingModel->type->value())
|
||||
])></i> {{ $recipesSettingModel->type->label() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- RECIPES --}}
|
||||
<li class="py-1">
|
||||
{{-- RECIPES --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.recipes.*')
|
||||
|
|
@ -273,25 +319,24 @@
|
|||
{{ str(__('models.classes.recipe'))->ucFirst()->plural() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- CONSUMPTION MOMENTS --}}
|
||||
<li class="py-1">
|
||||
{{-- CONSUMPTION MOMENTS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.consumption_moments.*')
|
||||
]) data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.consumption_moments.index') }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.update_model', ['model' => trans_choice('models.classes.consumption_moment', 2)]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-clock fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.consumption_moments.*')
|
||||
])></i>
|
||||
{{ str(__('models.classes.consumption_moment'))->ucFirst() }}
|
||||
{{ str(trans_choice('models.classes.consumption_moment', 2))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{-- PRODCUTS PAGE --}}
|
||||
{{-- PRODUCTS PAGE --}}
|
||||
<div class="dropdown">
|
||||
<button data-bs-toggle="dropdown" type="button" aria-expanded="false" @class([
|
||||
'btn btn-primary text-start w-100 dropdown-toggle mt-1',
|
||||
|
|
@ -311,7 +356,7 @@
|
|||
request()->routeIs('bo.subranges.*') ||
|
||||
request()->routeIs('bo.submeats.*'),
|
||||
])></i>
|
||||
{{ __('Listing Produits') }}
|
||||
{{ __('Section Produits') }}
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{{-- PRODUCTS --}}
|
||||
|
|
@ -331,8 +376,8 @@
|
|||
</a>
|
||||
</li>
|
||||
<li class="py-1"><hr class="dropdown-divider"></li> --}}
|
||||
{{-- MEATS --}}
|
||||
<li class="py-1">
|
||||
{{-- MEATS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary ' => request()->routeIs('bo.meats.index')
|
||||
|
|
@ -346,8 +391,8 @@
|
|||
{{ str(__('models.classes.meat'))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- SUBMEATS --}}
|
||||
<li class="py-1">
|
||||
{{-- SUBMEATS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.submeats.*')
|
||||
|
|
@ -361,32 +406,32 @@
|
|||
{{ str(__('models.classes.submeat'))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- ORDER MEATS/SUBMEATS --}}
|
||||
@if ($firstMeat && $firstMeat->submeats->count() >= 2)
|
||||
<li class="py-1">
|
||||
{{-- ORDER MEATS/SUBMEATS --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.meats.edit-submeats-order')
|
||||
]) data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.meats.edit-submeats-order', $firstMeat) }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.submeat')]) }}">
|
||||
title="{{ str(__('crud.actions.order_submodels'))->ucFirst() }}">
|
||||
<i @class([
|
||||
"fa-solid fa-arrow-up-wide-short fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.meats.edit-submeats-order')
|
||||
])></i>
|
||||
{{ __('crud.helpers.order_submodels', ['model' => str(__('models.classes.submeat'))->plural()]) }}
|
||||
{{ __('Ordonnancement') }}
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="py-1"><hr class="dropdown-divider"></li>
|
||||
{{-- RANGES --}}
|
||||
<li class="py-1">
|
||||
{{-- RANGES --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.ranges.index')
|
||||
]) data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.ranges.index') }}"
|
||||
title="{{ __('crud.helpers.update_model', ['model' => __('models.classes.range')]) }}">
|
||||
title="{{ str(__('crud.actions.order_submodels'))->ucFirst() }}">
|
||||
<i @class([
|
||||
"fa-solid fa-tags fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.ranges.index')
|
||||
|
|
@ -394,8 +439,8 @@
|
|||
{{ str(__('models.classes.range'))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- SUBRANGES --}}
|
||||
<li class="py-1">
|
||||
{{-- SUBRANGES --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.subranges.*')
|
||||
|
|
@ -409,9 +454,9 @@
|
|||
{{ str(__('models.classes.subrange'))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- ORDER RANGES/SUBRANGES --}}
|
||||
@if ($firstRange && $firstRange->subranges->count() >= 2)
|
||||
<li class="py-1">
|
||||
{{-- ORDER RANGES/SUBRANGES --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.ranges.edit-subranges-order')
|
||||
|
|
@ -422,13 +467,12 @@
|
|||
"fa-solid fa-arrow-up-wide-short fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.ranges.edit-subranges-order')
|
||||
])></i>
|
||||
{{ __('crud.helpers.order_submodels', ['model' => str(__('models.classes.subrange'))->plural()]) }}
|
||||
{{ __('Ordonnancement') }}
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{-- APPROACHES --}}
|
||||
<div class="dropdown">
|
||||
<button data-bs-toggle="dropdown" type="button" aria-expanded="false" @class([
|
||||
|
|
@ -440,39 +484,41 @@
|
|||
"fa-solid fa-building-wheat fa-fw",
|
||||
'fa-lg' => request()->routeIs('bo.approaches.*')
|
||||
])></i>
|
||||
{{ str(trans_choice('models.classes.approach', 2))->ucFirst() }}
|
||||
{{ sprintf('Section %s', str(trans_choice('models.classes.approach', 2))->ucFirst()) }}
|
||||
</button>
|
||||
@php $approachType = intval(request()->route()->parameter('approach_type') ?: ((isset($approachModel)) ? $approachModel->type->value() : 0)); @endphp
|
||||
<ul class="dropdown-menu">
|
||||
{{-- LABEL --}}
|
||||
<li class="py-1">
|
||||
{{-- LABEL --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->is('bo/approaches/1')
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.approaches.*') && $approachType === \App\Enums\Approaches\ApproachTypeEnum::label->value()
|
||||
])
|
||||
href="{{ route('bo.approaches.index', [
|
||||
'approach_type' => ApproachTypeEnum::label,
|
||||
'approach_type' => \App\Enums\Approaches\ApproachTypeEnum::label->value()
|
||||
]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-award fa-fw",
|
||||
'fa-lg' => request()->is('bo/approaches/1')
|
||||
'fa-lg' => request()->routeIs('bo.approaches.*') && $approachType === \App\Enums\Approaches\ApproachTypeEnum::label->value()
|
||||
])></i>
|
||||
{{ str(__('labels'))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
{{-- DEMARCHE --}}
|
||||
<li class="py-1">
|
||||
{{-- DEMARCHE --}}
|
||||
<a @class([
|
||||
"dropdown-item",
|
||||
'fw-bold text-bg-secondary' => request()->is('bo/approaches/2')
|
||||
'fw-bold text-bg-secondary' => request()->routeIs('bo.approaches.*') && $approachType === \App\Enums\Approaches\ApproachTypeEnum::demarche->value()
|
||||
])
|
||||
href="{{ route('bo.approaches.index', [
|
||||
'approach_type' => ApproachTypeEnum::demarche,
|
||||
'approach_type' => \App\Enums\Approaches\ApproachTypeEnum::demarche->value(),
|
||||
]) }}">
|
||||
<i @class([
|
||||
"fa-solid fa-people-arrows fa-fw",
|
||||
'fa-lg' => request()->is('bo/approaches/2')
|
||||
'fa-lg' => request()->routeIs('bo.approaches.*') && $approachType === \App\Enums\Approaches\ApproachTypeEnum::demarche->value()
|
||||
])></i>
|
||||
{{ str(__('démarches'))->ucFirst() }}</a>
|
||||
{{ str(__('démarches'))->ucFirst() }}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.activity_logs.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.activity_logs.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.activity_log', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.approaches.index', intval($approachModel->type ? $approachModel->type->value() : request()->approach_type)) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => $condition ? str(__('validation.custom.demarche'))->plural() : str(__('validation.custom.label'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.approaches.index', $approachModel->type->value()) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => $condition ? str(__('validation.custom.demarche'))->plural() : str(__('validation.custom.label'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.approaches.index', $approachModel->type->value()) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.approach', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.brand_advantages.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.brand_advantages.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.brand_advantage', 1)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.brand_advantages.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.brand_advantages.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.brand_advantage', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.brand_advantages.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.brand_advantages.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.brand_advantage', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
@extends('bo.layout', ['brParam' => $consumptionMomentModel])
|
||||
|
||||
@section('title', __('Création d\'une :model', ['model' => __('models.classes.consumption_moment')]))
|
||||
@section('description', __('Création d\'une tout nouveau :model', ['model' => __('models.classes.consumption_moment')]))
|
||||
@section('title', __('Création d\'une :model', ['model' => trans_choice('models.classes.consumption_moment', 1)]))
|
||||
@section('description', __('Création d\'une tout nouveau :model', ['model' => trans_choice('models.classes.consumption_moment', 1)]))
|
||||
@section('breadcrumb', request()->route()->getName())
|
||||
|
||||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.consumption_moments.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.consumption_moments.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.consumption_moment', 2)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
@include('modules.breadcrumbs.breadcrumb-body', ['brParam' => $consumptionMomentModel])
|
||||
</div>
|
||||
<div class="mb-md-0 mb-2">
|
||||
<button class="btn btn-primary" id="formSubmitClone" data-bs-toggle="tooltip" type="submit"
|
||||
title="{{ __('crud.helpers.save_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.save_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
{{ str(__('crud.actions.save'))->ucfirst() }}
|
||||
</button>
|
||||
</div>
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
<div class="row mt-3">
|
||||
<div class="col text-center">
|
||||
<button class="btn btn-primary" id="formSubmit" data-bs-toggle="tooltip" type="submit"
|
||||
title="{{ __('crud.helpers.save_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.save_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
{{ str(__('crud.actions.save'))->ucfirst() }}
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
@extends('bo.layout', ['brParam' => $consumptionMomentModel])
|
||||
|
||||
@section('title', __('Édition d\'une :model', ['model' => __('models.classes.consumption_moment')]))
|
||||
@section('description', __('Édition d\'une :model déjà existant', ['model' => __('models.classes.consumption_moment')]))
|
||||
@section('title', __('Édition d\'une :model', ['model' => trans_choice('models.classes.consumption_moment', 1)]))
|
||||
@section('description', __('Édition d\'une :model déjà existant', ['model' => trans_choice('models.classes.consumption_moment', 1)]))
|
||||
@section('breadcrumb', request()->route()->getName())
|
||||
|
||||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.consumption_moments.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.consumption_moment'))->plural()]) }}">
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.consumption_moments.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.consumption_moment', 2)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
@include('modules.breadcrumbs.breadcrumb-body', ['brParam' => $consumptionMomentModel])
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
</a>
|
||||
@endcan
|
||||
<button class="btn btn-primary" id="formSubmitClone" data-bs-toggle="tooltip" type="submit"
|
||||
title="{{ __('crud.helpers.save_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.save_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
{{ str(__('crud.actions.save'))->ucfirst() }}
|
||||
</button>
|
||||
@can('delete', $consumptionMomentModel)
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
<div class="row">
|
||||
<div class="col text-center">
|
||||
<button class="btn btn-primary" id="formSubmit" data-bs-toggle="tooltip" type="submit"
|
||||
title="{{ __('crud.helpers.save_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.save_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
{{ str(__('crud.actions.save'))->ucfirst() }}
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
'label' => __(':field1 :inter2:model', [
|
||||
'field1' => str(__('validation.custom.attribute_title'))->ucFirst(),
|
||||
'inter2' => __('validation.custom.of_the.male'),
|
||||
'model' => __('models.classes.consumption_moment'),
|
||||
'model' => trans_choice('models.classes.consumption_moment', 1),
|
||||
]),
|
||||
'hasWordCounter' => true,
|
||||
'name' => 'title',
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
'placeholder' => __(':field1 :inter2:model', [
|
||||
'field1' => str(__('validation.custom.attribute_title'))->ucFirst(),
|
||||
'inter2' => __('validation.custom.of_the.male'),
|
||||
'model' => __('models.classes.consumption_moment'),
|
||||
'model' => trans_choice('models.classes.consumption_moment', 1),
|
||||
]),
|
||||
])
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
@else
|
||||
<tr>
|
||||
<td class="border-0">
|
||||
{{ trans_choice('crud.other.no_model_found', 1, ['model' => __('models.classes.consumption_moment')]) }}
|
||||
{{ trans_choice('crud.other.no_model_found', 1, ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
@extends('bo.layout')
|
||||
|
||||
@section('title', str(__('models.classes.consumption_moment'))->ucfirst()->plural())
|
||||
@section('description', __('Liste de tous les :model', ['model' => str(__('models.classes.consumption_moment'))->plural()]))
|
||||
@section('title', str(trans_choice('models.classes.consumption_moment', 2))->ucfirst())
|
||||
@section('description', __('Liste de tous les :model', ['model' => trans_choice('models.classes.consumption_moment', 2)]))
|
||||
|
||||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap">
|
||||
@include('modules.breadcrumbs.breadcrumb-body')
|
||||
@can('create', \App\Models\ConsumptionMoment::class)
|
||||
<a class="btn btn-primary float-right" data-bs-toggle="tooltip" href="{{ route('bo.consumption_moments.create') }}"
|
||||
title="{{ __('crud.helpers.create_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.create_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
</a>
|
||||
@endcan
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
@extends('bo.layout', ['brParam' => $consumptionMomentModel])
|
||||
|
||||
@section('title', __('Aperçu d\'un :model', ['model' => __('models.classes.consumption_moment')]))
|
||||
@section('description', __('Aperçu d\'un :model déjà existante', ['model' => __('models.classes.consumption_moment')]))
|
||||
@section('title', __('Aperçu d\'un :model', ['model' => trans_choice('models.classes.consumption_moment', 1)]))
|
||||
@section('description', __('Aperçu d\'un :model déjà existante', ['model' => trans_choice('models.classes.consumption_moment', 1)]))
|
||||
@section('breadcrumb', request()->route()->getName())
|
||||
|
||||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center border-bottom flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.consumption_moments.index', ['sort_col' => 'created_at', 'sort_way' => 'desc']) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.consumption_moment'))->plural()]) }}">
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.consumption_moment', 2)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
@include('modules.breadcrumbs.breadcrumb-body', ['brParam' => $consumptionMomentModel])
|
||||
|
|
@ -20,14 +20,14 @@
|
|||
@can('duplicate', $consumptionMomentModel)
|
||||
<a class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.consumption_moments.duplicate', $consumptionMomentModel) }}"
|
||||
title="{{ __('crud.helpers.duplicate_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.duplicate_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
<i class="fa-solid fa-copy"></i>
|
||||
</a>
|
||||
@endcan
|
||||
@can('update', $consumptionMomentModel)
|
||||
<a class="btn btn-primary" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.consumption_moments.edit', $consumptionMomentModel) }}"
|
||||
title="{{ __('crud.helpers.edit_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.edit_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
<i class="fa-solid fa-pencil"></i>
|
||||
</a>
|
||||
@endcan
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
@csrf
|
||||
@method('DELETE')
|
||||
<button class="btn btn-danger" data-bs-toggle="tooltip" data-bs-placement="top" type="submit"
|
||||
title="{{ __('crud.helpers.delete_model', ['model' => __('models.classes.consumption_moment')]) }}">
|
||||
title="{{ __('crud.helpers.delete_model', ['model' => trans_choice('models.classes.consumption_moment', 1)]) }}">
|
||||
<i class="fa-solid fa-trash"></i>
|
||||
</button>
|
||||
@endcan
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.demarche_slides.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.demarche_slides.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.demarche_slide')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.demarche_slides.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.demarche_slides.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.demarche_slide'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center border-bottom flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.demarche_slides.index', ['sort_col' => 'created_at', 'sort_way' => 'desc']) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.demarche_slide'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
|
|||
|
|
@ -7,10 +7,6 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.general_settings.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.general_setting'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
@include('modules.breadcrumbs.breadcrumb-body', ['brParam' => $generalSettingModel])
|
||||
</div>
|
||||
<div class="mb-md-0 mb-2">
|
||||
|
|
|
|||
|
|
@ -1,11 +1,4 @@
|
|||
<div class="row">
|
||||
{{-- TYPE --}}
|
||||
<div class="col-12 col-md-6 mb-3">
|
||||
<p class="h5 m-0">
|
||||
{{ sprintf('%s associée au type :', str(__("models.classes.general_setting"))->ucfirst()) }}
|
||||
<span class="fw-bold">{{ $generalSettingModel->type->label() }}</span>
|
||||
</p>
|
||||
</div>
|
||||
{{-- Value --}}
|
||||
<div class="col-12 mb-3">
|
||||
@include('bo.pages.general_settings.values.' . $generalSettingModel->type->name(), [
|
||||
|
|
|
|||
|
|
@ -1,45 +0,0 @@
|
|||
<table class="table-hover table-fix-action m-0 table">
|
||||
@if (count($generalSettingsModelList) > 0)
|
||||
<thead>
|
||||
@include('bo.modules.table-col-sorter', [
|
||||
'cols' => [
|
||||
'type' => str(__('validation.custom.general_setting_type'))->ucfirst(),
|
||||
'updated_at' => str(__('validation.attributes.updated_at'))->ucfirst(),
|
||||
],
|
||||
])
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($generalSettingsModelList as $generalSettingModel)
|
||||
<tr class="border-bottom">
|
||||
<td class="text-center align-middle">{{ $generalSettingModel->type->label() }}</td>
|
||||
<td class="text-center align-middle">
|
||||
<span class="badge text-bg-secondary">{{ $generalSettingModel->updated_at->isoFormat('LLLL') }}</span>
|
||||
</td>
|
||||
<td class="text-end align-middle">
|
||||
@canAny(['update'], $generalSettingModel)
|
||||
<div class="btn-group">
|
||||
@can('update', $generalSettingModel)
|
||||
<a class="btn btn-sm btn-primary" data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.general_settings.edit', $generalSettingModel) }}"
|
||||
title="{{ str(__('crud.actions.update'))->ucfirst() }}">
|
||||
<i class="fa-solid fa-pencil"></i>
|
||||
</a>
|
||||
@endcan
|
||||
</div>
|
||||
@else
|
||||
<span class="text-danger" data-bs-toggle="tooltip" title="{{ __('list.right') }}">
|
||||
<i class="fa-solid fa-ban"></i>
|
||||
</span>
|
||||
@endcan
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@else
|
||||
<tr>
|
||||
<td class="border-0">
|
||||
{{ trans_choice('crud.other.no_model_found', 2, ['model' => trans_choice('models.classes.general_setting', 1)]) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
@extends('bo.layout')
|
||||
|
||||
@section('title', str(trans_choice('models.classes.general_setting', \INF))->ucfirst())
|
||||
@section('description', __('Liste de toutes les :model', ['model' => trans_choice('models.classes.general_setting', \INF)]))
|
||||
|
||||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap">
|
||||
@include('modules.breadcrumbs.breadcrumb-body')
|
||||
</div>
|
||||
@include('bo.modules.search-bar')
|
||||
<div class="table-responsive mb-3">
|
||||
@include('bo.pages.general_settings.index-list')
|
||||
</div>
|
||||
{{ $generalSettingsModelList->links() }}
|
||||
@endsection
|
||||
|
|
@ -63,73 +63,4 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="col-12 pb-3">
|
||||
<fieldset class="h-100 border p-3">
|
||||
<legend>{{ str(__('validation.attributes.image'))->ucFirst() }}</legend>
|
||||
<div class="row mb-3">
|
||||
{{-- PICTURE_ALT --}}
|
||||
<div class="col-12 col-lg-6 m-md-0 mb-3">
|
||||
@include('bo.partials.inputs.varchar', [
|
||||
'id' => 'recipesPictureAlt',
|
||||
'label' => __(':field1 :inter1:field2 :inter2:model', [
|
||||
'field1' => str(__('validation.custom.attribute_alt'))->ucFirst(),
|
||||
'inter1' => __('validation.custom.of_the.vowel'),
|
||||
'field2' => __('validation.attributes.image'),
|
||||
'inter2' => __('validation.custom.of_the.plural'),
|
||||
'model' => __('models.classes.recipe'),
|
||||
]),
|
||||
'hasWordCounter' => true,
|
||||
'name' => 'picture_alt',
|
||||
'required' => true,
|
||||
'model' => json_decode(collect($generalSettingModel->value)) ?? null,
|
||||
'helper' => __('crud.minicrud.picture_alt_helper'),
|
||||
'placeholder' => __(':field1 :inter1:field2 :inter2:model', [
|
||||
'field1' => str(__('validation.custom.attribute_alt'))->ucFirst(),
|
||||
'inter1' => __('validation.custom.of_the.vowel'),
|
||||
'field2' => __('validation.attributes.image'),
|
||||
'inter2' => __('validation.custom.of_the.plural'),
|
||||
'model' => str(__('models.classes.recipe'))->plural(),
|
||||
]),
|
||||
])
|
||||
</div>
|
||||
{{-- PICTURE_TITLE --}}
|
||||
<div class="col-12 col-lg-6 mb-3">
|
||||
@include('bo.partials.inputs.varchar', [
|
||||
'id' => 'recipesPictureTitle',
|
||||
'label' => __(':field1 :inter1:field2 :inter2:model', [
|
||||
'field1' => str(__('validation.custom.attribute_title'))->ucFirst(),
|
||||
'inter1' => __('validation.custom.of_the.vowel'),
|
||||
'field2' => __('validation.attributes.image'),
|
||||
'inter2' => __('validation.custom.of_the.plural'),
|
||||
'model' => str(__('models.classes.recipe'))->plural(),
|
||||
]),
|
||||
'hasWordCounter' => true,
|
||||
'name' => 'picture_title',
|
||||
'required' => true,
|
||||
'model' => json_decode(collect($generalSettingModel->value)) ?? null,
|
||||
'helper' => __('crud.minicrud.picture_title_helper'),
|
||||
'placeholder' => __(':field1 :inter1:field2 :inter2:model', [
|
||||
'field1' => str(__('validation.custom.attribute_title'))->ucFirst(),
|
||||
'inter1' => __('validation.custom.of_the.vowel'),
|
||||
'field2' => __('validation.attributes.image'),
|
||||
'inter2' => __('validation.custom.of_the.plural'),
|
||||
'model' => str(__('models.classes.recipe'))->plural(),
|
||||
]),
|
||||
])
|
||||
</div>
|
||||
{{-- PICTURE --}}
|
||||
<div class="col-12">
|
||||
@include('bo.partials.inputs.varchar-picture', [
|
||||
'id' => 'recipesPicture',
|
||||
'name' => 'picture',
|
||||
'width' => 720,
|
||||
'height' => 405,
|
||||
'value' => json_decode(collect($generalSettingModel->value))->picture,
|
||||
'required' => true,
|
||||
'preview' => true,
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.key_numbers.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.key_numbers.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.key_number')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.key_numbers.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.key_numbers.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.key_number'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center border-bottom flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.key_numbers.index', ['sort_col' => 'created_at', 'sort_way' => 'desc']) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.key_number'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.main_slides.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.main_slides.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.main_slide')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.main_slides.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.main_slides.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.main_slide'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center border-bottom flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.main_slides.index', ['sort_col' => 'created_at', 'sort_way' => 'desc']) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.main_slide'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.meats.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.meats.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.meat')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.meats.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.meats.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.meat', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.meats.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.meats.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.meat'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.professions.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.professions.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.profession')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.professions.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.professions.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.profession'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center border-bottom flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.professions.index', ['sort_col' => 'created_at', 'sort_way' => 'desc']) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.profession'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.ranges.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.ranges.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.range')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.ranges.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.ranges.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.range', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.ranges.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.ranges.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.range'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.recipes.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.recipes.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.recipe')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.recipes.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.recipes.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.recipe'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -362,13 +362,13 @@
|
|||
{{-- CONSUMPTION_MOMENT_ID --}}
|
||||
<div class="col-12 col-md-6 mb-3">
|
||||
<fieldset class="h-100 border p-3">
|
||||
<legend>{{ str(__('models.classes.consumption_moment'))->ucFirst() }}</legend>
|
||||
<legend>{{ str(trans_choice('models.classes.consumption_moment', 1))->ucFirst() }}</legend>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
@include('bo.partials.inputs.search-belongs-to-dropdown', [
|
||||
'id' => 'recipeConsumptionMomentId',
|
||||
'label' => __(':model associé', [
|
||||
'model' => str(__('models.classes.consumption_moment'))->ucFirst(),
|
||||
'model' => str(trans_choice('models.classes.consumption_moment', 1))->ucFirst(),
|
||||
]),
|
||||
'name' => 'consumption_moment_id',
|
||||
'targetClass' => 'App\Models\ConsumptionMoment',
|
||||
|
|
@ -380,11 +380,11 @@
|
|||
'required' => true,
|
||||
'disabled' => false,
|
||||
'placeholder' => __('Rechercher un :model', [
|
||||
'model' => __('models.classes.consumption_moment'),
|
||||
'model' => trans_choice('models.classes.consumption_moment', 1),
|
||||
]),
|
||||
'helper' => __(
|
||||
'Sélectionner un :model qui sera associé parmis la liste (un seul et unique :model doit être choisi).',
|
||||
['model' => __('models.classes.consumption_moment')]),
|
||||
['model' => trans_choice('models.classes.consumption_moment', 1)]),
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center border-bottom flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" data-bs-placement="top"
|
||||
href="{{ route('bo.recipes.index', ['sort_col' => 'created_at', 'sort_way' => 'desc']) }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.recipe'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
@ -81,9 +81,14 @@
|
|||
{{ str(__('validation.custom.ingredients_list'))->ucFirst() }}</td>
|
||||
<td class="w-50 text-center align-middle">
|
||||
<ul class="list-group list-group-flush">
|
||||
@foreach ($recipeModel->ingredients_list as $key => $ingredient)
|
||||
@foreach ($recipeModel->ingredients_list as $ingredient)
|
||||
<li class="list-group-item">
|
||||
{{ sprintf('%s%s %s', $ingredient['value'], $ingredient['unit'], $ingredient['label']) }}
|
||||
<p class="m-0">
|
||||
{{ sprintf('%s%s %s', $ingredient['value'], $ingredient['label_unit'], $ingredient['label_value']) }}
|
||||
</p>
|
||||
<small class="text-body-secondary">
|
||||
{{ sprintf('proportionnel: %s', $ingredient['is_proportionnal'] ? "oui" : "non") }}
|
||||
</small>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
|
@ -130,7 +135,7 @@
|
|||
</tr>
|
||||
<tr class="border-bottom">
|
||||
<td class="w-50 fw-bold text-center align-middle">
|
||||
{{ str(__('models.classes.consumption_moment'))->ucFirst() }}</td>
|
||||
{{ str(trans_choice('models.classes.consumption_moment', 1))->ucFirst() }}</td>
|
||||
<td class="w-50 text-center align-middle">
|
||||
{{ $recipeModel->consumptionMoment->title }}
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -7,10 +7,6 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.static_pages.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.static_page'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
@include('modules.breadcrumbs.breadcrumb-body', ['brParam' => $staticPageModel])
|
||||
</div>
|
||||
<div class="mb-md-0 mb-2">
|
||||
|
|
|
|||
|
|
@ -1,25 +1,4 @@
|
|||
<div class="row">
|
||||
{{-- TYPE --}}
|
||||
<div class="col-12 mb-3">
|
||||
<fieldset class="h-100 border p-3">
|
||||
<legend>{{ str(__('validation.custom.static_page_type'))->ucfirst() }}</legend>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
@include('bo.partials.inputs.tinyint-enum', [
|
||||
'id' => 'staticPageType',
|
||||
'label' => __('Type de page'),
|
||||
'name' => 'type',
|
||||
'model' => $staticPageModel ?? null,
|
||||
'required' => false,
|
||||
'disabled' => true,
|
||||
'value' => optional(optional($staticPageModel ?? null)->type)->value(),
|
||||
'associatedModels' => \App\Enums\StaticPageType::toArray(),
|
||||
'helper' => '',
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
{{-- TITLE --}}
|
||||
<div class="col-12 col-md-6 mb-3">
|
||||
<fieldset class="h-100 border p-3">
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
<table class="table-hover table-fix-action m-0 table">
|
||||
@if (count($staticPageModelList) > 0)
|
||||
<thead>
|
||||
@include('bo.modules.table-col-sorter', [
|
||||
'cols' => [
|
||||
'type' => str(__('validation.custom.static_page_type'))->ucfirst(),
|
||||
'title' => str(__('validation.attributes.title'))->ucfirst(),
|
||||
'picture' => str(__('validation.attributes.image'))->ucfirst(),
|
||||
'updated_at' => str(__('validation.attributes.updated_at'))->ucfirst(),
|
||||
],
|
||||
])
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($staticPageModelList as $staticPageModel)
|
||||
<tr class="border-bottom">
|
||||
<td class="text-center align-middle">{{ $staticPageModel->type->label() }}</td>
|
||||
<td class="text-center align-middle">{{ $staticPageModel->title }}</td>
|
||||
<td class="text-center align-middle">
|
||||
<img class="image-preview" src="{{ asset($staticPageModel->picture) }}" title="{{ $staticPageModel->picture_title }}"
|
||||
alt="{{ $staticPageModel->picture_alt }}">
|
||||
</td>
|
||||
<td class="text-center align-middle">
|
||||
<span class="badge text-bg-secondary">{{ $staticPageModel->updated_at->isoFormat('LLLL') }}</span>
|
||||
</td>
|
||||
<td class="text-end align-middle">
|
||||
@canAny(['update'], $staticPageModel)
|
||||
<div class="btn-group">
|
||||
@can('update', $staticPageModel)
|
||||
<a class="btn btn-sm btn-primary" data-bs-toggle="tooltip"
|
||||
href="{{ route('bo.static_pages.edit', ['static_page' => $staticPageModel]) }}"
|
||||
title="{{ str(__('crud.actions.update'))->ucfirst() }}">
|
||||
<i class="fa-solid fa-pencil"></i>
|
||||
</a>
|
||||
@endcan
|
||||
</div>
|
||||
@else
|
||||
<span class="text-danger" data-bs-toggle="tooltip" title="{{ __('list.right') }}">
|
||||
<i class="fa-solid fa-ban"></i>
|
||||
</span>
|
||||
@endcan
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
@else
|
||||
<tr>
|
||||
<td class="border-0">
|
||||
{{ trans_choice('crud.other.no_model_found', 2, ['model' => trans_choice('models.classes.static_page', 1)]) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
@extends('bo.layout')
|
||||
|
||||
@section('title', str(trans_choice('models.classes.static_page', \INF))->ucfirst())
|
||||
@section('description', __('Liste de toutes les :model', ['model' => trans_choice('models.classes.static_page', \INF)]))
|
||||
|
||||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap">
|
||||
@include('modules.breadcrumbs.breadcrumb-body')
|
||||
</div>
|
||||
@include('bo.modules.search-bar')
|
||||
<div class="table-responsive mb-3">
|
||||
@include('bo.pages.static_pages.index-list')
|
||||
</div>
|
||||
{{ $staticPageModelList->links() }}
|
||||
@endsection
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.submeats.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.submeats.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.submeat')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.submeats.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.submeats.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.submeat', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.submeats.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.submeats.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.submeat'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
@extends('bo.layout', ['brParam' => $model])
|
||||
|
||||
@section('title', __('crud.helpers.order_submodels', ['model' => str(__("models.classes.sub{$modelName}"))->plural()]))
|
||||
@section('title', __('crud.actions.order_submodels', ['model' => str(__("models.classes.sub{$modelName}"))->plural()]))
|
||||
@section('description',
|
||||
__('crud.helpers.order_submodels', [
|
||||
__('crud.actions.order_submodels', [
|
||||
'model' => str(__("models.classes.sub{$modelName}"))->plural(),
|
||||
]))
|
||||
@section('breadcrumb', request()->route()->getName())
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip"
|
||||
href='{{ route("bo.{$modelName}s.index") }}'
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__("models.classes.{$modelName}"))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
@foreach ($models as $parentModel)
|
||||
<li>
|
||||
<a href="{{ route("bo.{$modelName}s.edit-sub{$modelName}s-order", $parentModel) }}"
|
||||
title="{{ sprintf('%s de l\'élément parent : %s', __('crud.helpers.order_submodels', ['model' => __("models.classes.sub{$modelName}")]), $model->label) }}"
|
||||
title="{{ sprintf('%s de l\'élément parent : %s', __('crud.actions.order_submodels', ['model' => __("models.classes.sub{$modelName}")]), $model->label) }}"
|
||||
@class([
|
||||
'dropdown-item',
|
||||
'active' => request($modelName)->is($parentModel),
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.subranges.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.subranges.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.subrange')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.subranges.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.subranges.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.subrange', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.subranges.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.subranges.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.subrange'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.users.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.users.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.user')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.users.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.users.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.user'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.videos.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.videos.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => __('models.classes.video')]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.videos.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.videos.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => trans_choice('models.classes.video', \INF)]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
@section('content')
|
||||
<div class="d-flex justify-content-between flex-md-nowrap align-items-center flex-wrap pb-3">
|
||||
<div class="d-flex align-items-start flex-row">
|
||||
<a class="btn btn-primary text-decoration-none m-0" data-bs-toggle="tooltip" href="{{ route('bo.videos.index') }}"
|
||||
<a class="btn btn-primary text-decoration-none m-0 me-2" data-bs-toggle="tooltip" href="{{ route('bo.videos.index') }}"
|
||||
title="{{ __('crud.helpers.list_all', ['model' => str(__('models.classes.video'))->plural()]) }}">
|
||||
<i class="fa-solid fa-arrow-left"></i>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@
|
|||
</tr>
|
||||
<tr width="100%">
|
||||
<td>
|
||||
<p>{{ str(sprintf("%s associé", __('models.classes.consumption_moment')))->ucFirst() }}</p>
|
||||
<p>{{ str(sprintf("%s associé", trans_choice('models.classes.consumption_moment', 1)))->ucFirst() }}</p>
|
||||
<p class="text-bold">{{ $recipeModel->consumption_moment_id->title }}</p><br><br>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@foreach ($breadcrumbs as $breadcrumb)
|
||||
@if ($breadcrumb->url && !$loop->last)
|
||||
<li class="breadcrumb-item d-flex">
|
||||
<a @class(['fw-bold m-0', 'h2 ps-2' => request()->is('bo/*')]) href="{{ $breadcrumb->url }}">
|
||||
<a @class(['fw-bold m-0', 'h2' => request()->is('bo/*')]) href="{{ $breadcrumb->url }}">
|
||||
{{ $breadcrumb->title }}
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -31,15 +31,8 @@ Breadcrumbs::for('bo.dashboard', function (Generator $trail) {
|
|||
});
|
||||
|
||||
// * GENERAL SETTINGS
|
||||
Breadcrumbs::for('bo.general_settings.index', function (Generator $trail) {
|
||||
$trail->push(
|
||||
Str::of(trans('models.classes.general_setting'))->plural()->ucfirst(),
|
||||
route('bo.general_settings.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
||||
);
|
||||
});
|
||||
Breadcrumbs::for('bo.general_settings.edit', function (Generator $trail, GeneralSetting $general_setting) {
|
||||
$trail->parent('bo.general_settings.index');
|
||||
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.general_settings.edit', $general_setting));
|
||||
$trail->push($general_setting->type->label());
|
||||
});
|
||||
|
||||
// * USERS
|
||||
|
|
@ -123,15 +116,8 @@ Breadcrumbs::for('bo.activity_logs.show', function (Generator $trail, ActivityLo
|
|||
});
|
||||
|
||||
// * STATIC PAGES
|
||||
Breadcrumbs::for('bo.static_pages.index', function (Generator $trail) {
|
||||
$trail->push(
|
||||
Str::ucfirst(trans_choice('models.classes.static_page', \INF)),
|
||||
route('bo.static_pages.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
||||
);
|
||||
});
|
||||
Breadcrumbs::for('bo.static_pages.edit', function (Generator $trail, StaticPage $static_page) {
|
||||
$trail->parent('bo.static_pages.index');
|
||||
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.static_pages.edit', $static_page));
|
||||
$trail->push(sprintf('Page %s', Str::ucfirst($static_page->title)));
|
||||
});
|
||||
|
||||
// * BRAND_ADVANTAGES
|
||||
|
|
@ -233,7 +219,7 @@ Breadcrumbs::for('bo.ranges.duplicate', function (Generator $trail) {
|
|||
});
|
||||
Breadcrumbs::for('bo.ranges.edit-subranges-order', function (Generator $trail) {
|
||||
$trail->parent('bo.ranges.index');
|
||||
$trail->push(Str::ucfirst(trans('crud.helpers.order_submodels', [
|
||||
$trail->push(Str::ucfirst(trans('crud.actions.order_submodels', [
|
||||
'model' => Str::plural(trans('models.classes.subrange'))
|
||||
])));
|
||||
});
|
||||
|
|
@ -287,7 +273,7 @@ Breadcrumbs::for('bo.meats.duplicate', function (Generator $trail) {
|
|||
});
|
||||
Breadcrumbs::for('bo.meats.edit-submeats-order', function (Generator $trail) {
|
||||
$trail->parent('bo.meats.index');
|
||||
$trail->push(Str::ucfirst(trans('crud.helpers.order_submodels', [
|
||||
$trail->push(Str::ucfirst(trans('crud.actions.order_submodels', [
|
||||
'model' => Str::plural(trans('models.classes.submeat'))
|
||||
])));
|
||||
});
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ Route::prefix('bo')
|
|||
'index' => 'general_settings.index',
|
||||
'edit' => 'general_settings.edit',
|
||||
'update' => 'general_settings.update',
|
||||
])->only(['index', 'edit', 'update'])
|
||||
])->only(['edit', 'update'])
|
||||
->withoutMiddleware('htmlsanitize')
|
||||
->middleware('htmlsanitize:text');
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ Route::prefix('bo')
|
|||
'edit' => 'static_pages.edit',
|
||||
'update' => 'static_pages.update',
|
||||
])->parameters(['pages' => 'static_page'])
|
||||
->only(['index', 'edit', 'update'])
|
||||
->only(['edit', 'update'])
|
||||
->withoutMiddleware('htmlsanitize')
|
||||
->middleware('htmlsanitize:content');
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue