ldc-legaulois/routes/breadcrumbs-bo.php
2024-04-18 15:21:18 +02:00

337 lines
15 KiB
PHP

<?php
use App\Models\ActivityLog;
use App\Models\Approach;
use App\Models\DemarcheSlide;
use App\Models\KeyNumber;
use App\Models\Profession;
use App\Models\BrandAdvantage;
use App\Models\MainSlide;
use App\Models\GeneralSetting;
use App\Models\Meat;
use App\Models\Range;
use App\Models\StaticPage;
use App\Models\Submeat;
use App\Models\Subrange;
use App\Models\User;
use Diglactic\Breadcrumbs\Breadcrumbs;
use Diglactic\Breadcrumbs\Generator;
use Illuminate\Support\Str;
// * DASHBOARD
Breadcrumbs::for('bo.dashboard', function (Generator $trail) {
$trail->push(
Str::ucfirst(trans('accueil')),
route('bo.dashboard')
);
});
// * 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));
});
// * USERS
Breadcrumbs::for('bo.users.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.user'))->plural()->ucfirst(),
route('bo.users.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
);
});
Breadcrumbs::for('bo.users.create', function (Generator $trail) {
$trail->parent('bo.users.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.users.create'));
});
Breadcrumbs::for('bo.users.edit', function (Generator $trail, User $user) {
$trail->parent('bo.users.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.users.edit', $user));
});
Breadcrumbs::for('bo.users.duplicate', function (Generator $trail) {
$trail->parent('bo.users.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * PROFESSIONS
Breadcrumbs::for('bo.professions.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.profession'))->plural()->ucfirst(),
route('bo.professions.index')
);
});
Breadcrumbs::for('bo.professions.show', function (Generator $trail, Profession $profession) {
$trail->parent('bo.professions.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.professions.show', $profession));
});
Breadcrumbs::for('bo.professions.create', function (Generator $trail) {
$trail->parent('bo.professions.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.professions.create'));
});
Breadcrumbs::for('bo.professions.edit', function (Generator $trail, Profession $profession) {
$trail->parent('bo.professions.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.professions.edit', $profession));
});
Breadcrumbs::for('bo.professions.duplicate', function (Generator $trail) {
$trail->parent('bo.professions.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * KEYNUMBERS
Breadcrumbs::for('bo.key_numbers.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.key_number'))->plural()->ucfirst(),
route('bo.key_numbers.index')
);
});
Breadcrumbs::for('bo.key_numbers.show', function (Generator $trail, KeyNumber $keyNumber) {
$trail->parent('bo.key_numbers.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.key_numbers.show', $keyNumber));
});
Breadcrumbs::for('bo.key_numbers.create', function (Generator $trail) {
$trail->parent('bo.key_numbers.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.key_numbers.create'));
});
Breadcrumbs::for('bo.key_numbers.edit', function (Generator $trail, KeyNumber $keyNumber) {
$trail->parent('bo.key_numbers.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.key_numbers.edit', $keyNumber));
});
Breadcrumbs::for('bo.key_numbers.duplicate', function (Generator $trail) {
$trail->parent('bo.key_numbers.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * ACTIVITY_LOGS
Breadcrumbs::for('bo.activity_logs.index', function (Generator $trail) {
$trail->push(
Str::ucfirst(trans_choice('models.classes.activity_log', \INF)),
route('bo.activity_logs.index', ['sort_col' => 'created_at', 'sort_way' => 'desc'])
);
});
Breadcrumbs::for('bo.activity_logs.show', function (Generator $trail, ActivityLog $activity_log) {
$trail->parent('bo.activity_logs.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.activity_logs.show', $activity_log));
});
// * 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));
});
// * BRAND_ADVANTAGES
Breadcrumbs::for('bo.brand_advantages.index', function (Generator $trail) {
$trail->push(
Str::ucfirst(trans_choice('models.classes.brand_advantage', \INF)),
route('bo.brand_advantages.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
);
});
Breadcrumbs::for('bo.brand_advantages.show', function (Generator $trail, BrandAdvantage $brand_advantage) {
$trail->parent('bo.brand_advantages.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.brand_advantages.show', $brand_advantage));
});
Breadcrumbs::for('bo.brand_advantages.create', function (Generator $trail) {
$trail->parent('bo.brand_advantages.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.brand_advantages.create'));
});
Breadcrumbs::for('bo.brand_advantages.edit', function (Generator $trail, BrandAdvantage $brand_advantage) {
$trail->parent('bo.brand_advantages.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.brand_advantages.edit', $brand_advantage));
});
Breadcrumbs::for('bo.brand_advantages.duplicate', function (Generator $trail) {
$trail->parent('bo.brand_advantages.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * DEMARCHE_SLIDES
Breadcrumbs::for('bo.demarche_slides.index', function (Generator $trail) {
$trail->push(
Str::ucfirst(trans_choice('models.classes.demarche_slide', \INF)),
route('bo.demarche_slides.index')
);
});
Breadcrumbs::for('bo.demarche_slides.show', function (Generator $trail, DemarcheSlide $demarche_slide) {
$trail->parent('bo.demarche_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.demarche_slides.show', $demarche_slide));
});
Breadcrumbs::for('bo.demarche_slides.create', function (Generator $trail) {
$trail->parent('bo.demarche_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.demarche_slides.create'));
});
Breadcrumbs::for('bo.demarche_slides.edit', function (Generator $trail, DemarcheSlide $demarche_slide) {
$trail->parent('bo.demarche_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.demarche_slides.edit', $demarche_slide));
});
Breadcrumbs::for('bo.demarche_slides.duplicate', function (Generator $trail) {
$trail->parent('bo.demarche_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * MAIN_SLIDES
Breadcrumbs::for('bo.main_slides.index', function (Generator $trail) {
$trail->push(
Str::ucfirst(trans_choice('models.classes.main_slide', \INF)),
route('bo.main_slides.index')
);
});
Breadcrumbs::for('bo.main_slides.show', function (Generator $trail, MainSlide $main_slide) {
$trail->parent('bo.main_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.main_slides.show', $main_slide));
});
Breadcrumbs::for('bo.main_slides.create', function (Generator $trail) {
$trail->parent('bo.main_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.main_slides.create'));
});
Breadcrumbs::for('bo.main_slides.edit', function (Generator $trail, MainSlide $main_slide) {
$trail->parent('bo.main_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.main_slides.edit', $main_slide));
});
Breadcrumbs::for('bo.main_slides.duplicate', function (Generator $trail) {
$trail->parent('bo.main_slides.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * RANGES
Breadcrumbs::for('bo.ranges.index', function (Generator $trail) {
$trail->push(
Str::of(__('models.classes.range'))->ucfirst()->plural(),
route('bo.ranges.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
);
});
Breadcrumbs::for('bo.ranges.show', function (Generator $trail, Range $range) {
$trail->parent('bo.ranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.ranges.show', $range));
});
Breadcrumbs::for('bo.ranges.create', function (Generator $trail) {
$trail->parent('bo.ranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.ranges.create'));
});
Breadcrumbs::for('bo.ranges.edit', function (Generator $trail, Range $range) {
$trail->parent('bo.ranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.ranges.edit', $range));
});
Breadcrumbs::for('bo.ranges.duplicate', function (Generator $trail) {
$trail->parent('bo.ranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
Breadcrumbs::for('bo.ranges.edit-subranges-order', function (Generator $trail) {
$trail->parent('bo.ranges.index');
$trail->push(Str::ucfirst(trans('crud.helpers.order_submodels', [
'model' => Str::plural(trans('models.classes.subrange'))
])));
});
// * SUBRANGES
Breadcrumbs::for('bo.subranges.index', function (Generator $trail) {
$trail->push(
Str::of(__('models.classes.subrange'))->ucfirst()->plural(),
route('bo.subranges.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
);
});
Breadcrumbs::for('bo.subranges.show', function (Generator $trail, Subrange $subrange) {
$trail->parent('bo.subranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.subranges.show', $subrange));
});
Breadcrumbs::for('bo.subranges.create', function (Generator $trail) {
$trail->parent('bo.subranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.subranges.create'));
});
Breadcrumbs::for('bo.subranges.edit', function (Generator $trail, Subrange $subrange) {
$trail->parent('bo.subranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.subranges.edit', $subrange));
});
Breadcrumbs::for('bo.subranges.duplicate', function (Generator $trail) {
$trail->parent('bo.subranges.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * MEATS
Breadcrumbs::for('bo.meats.index', function (Generator $trail) {
$trail->push(
Str::of(__('models.classes.meat'))->ucfirst()->plural(),
route('bo.meats.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
);
});
Breadcrumbs::for('bo.meats.show', function (Generator $trail, Meat $meat) {
$trail->parent('bo.meats.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.meats.show', $meat));
});
Breadcrumbs::for('bo.meats.create', function (Generator $trail) {
$trail->parent('bo.meats.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.meats.create'));
});
Breadcrumbs::for('bo.meats.edit', function (Generator $trail, Meat $meat) {
$trail->parent('bo.meats.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.meats.edit', $meat));
});
Breadcrumbs::for('bo.meats.duplicate', function (Generator $trail) {
$trail->parent('bo.meats.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
Breadcrumbs::for('bo.meats.edit-submeats-order', function (Generator $trail) {
$trail->parent('bo.meats.index');
$trail->push(Str::ucfirst(trans('crud.helpers.order_submodels', [
'model' => Str::plural(trans('models.classes.submeat'))
])));
});
// * SUBMEATS
Breadcrumbs::for('bo.submeats.index', function (Generator $trail) {
$trail->push(
Str::of(__('models.classes.submeat'))->ucfirst()->plural(),
route('bo.submeats.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
);
});
Breadcrumbs::for('bo.submeats.show', function (Generator $trail, Submeat $submeat) {
$trail->parent('bo.submeats.index');
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.submeats.show', $submeat));
});
Breadcrumbs::for('bo.submeats.create', function (Generator $trail) {
$trail->parent('bo.submeats.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.submeats.create'));
});
Breadcrumbs::for('bo.submeats.edit', function (Generator $trail, Submeat $submeat) {
$trail->parent('bo.submeats.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.submeats.edit', $submeat));
});
Breadcrumbs::for('bo.submeats.duplicate', function (Generator $trail) {
$trail->parent('bo.submeats.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * APPROACHES
Breadcrumbs::for('bo.approaches.index', function (Generator $trail, int $approach_type) {
$trail->push(
str($approach_type ? __('validation.custom.demarche') : __('validation.custom.label'))->plural()->ucFirst(),
route('bo.approaches.index', ['approach_type' => $approach_type])
);
});
Breadcrumbs::for('bo.approaches.show', function (Generator $trail, Approach $approach) {
$trail->parent('bo.approaches.index', $approach->type);
$trail->push(Str::ucfirst(trans('crud.actions.view')), route('bo.approaches.show', $approach));
});
Breadcrumbs::for('bo.approaches.create', function (Generator $trail, int $approach_type) {
$trail->parent('bo.approaches.index', $approach_type);
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.approaches.create', $approach_type));
});
Breadcrumbs::for('bo.approaches.edit', function (Generator $trail, Approach $approach) {
$trail->parent('bo.approaches.index', $approach->type);
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.approaches.edit', $approach));
});
Breadcrumbs::for('bo.approaches.duplicate', function (Generator $trail, int $approach_type) {
$trail->parent('bo.approaches.index', $approach_type);
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});