ldc-com-app-bo/routes/breadcrumbs-bo.php
2025-05-28 17:25:44 +02:00

195 lines
7.3 KiB
PHP

<?php
use App\Models\AppUser;
use App\Models\Contact;
use App\Models\Directory;
use App\Models\Document;
use App\Models\Formulary;
use App\Models\Setting;
use App\Models\Tag;
use App\Models\Tenant;
use App\Models\User;
use Diglactic\Breadcrumbs\Breadcrumbs;
use Diglactic\Breadcrumbs\Generator;
use Illuminate\Support\Str;
// * USERS
Breadcrumbs::for('bo.users.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.user'))->plural()->ucfirst(),
(auth('backend')->user()->can('isAdmin')) ? route('bo.users.index') : null
);
});
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' => $user,
]));
});
Breadcrumbs::for('bo.users.duplicate', function (Generator $trail) {
$trail->parent('bo.users.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * TENANTS
Breadcrumbs::for('bo.tenants.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.tenant'))->plural()->ucfirst(),
route('bo.tenants.index')
);
});
Breadcrumbs::for('bo.tenants.create', function (Generator $trail) {
$trail->parent('bo.tenants.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.tenants.create'));
});
Breadcrumbs::for('bo.tenants.edit', function (Generator $trail, Tenant $tenant) {
$trail->parent('bo.tenants.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.tenants.edit', [
'tenant' => $tenant,
]));
});
Breadcrumbs::for('bo.tenants.duplicate', function (Generator $trail) {
$trail->parent('bo.tenants.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * TAGS
Breadcrumbs::for('bo.tags.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.tag'))->plural()->ucfirst(),
route('bo.tags.index', ['tenant' => \tenant()])
);
});
Breadcrumbs::for('bo.tags.create', function (Generator $trail) {
$trail->parent('bo.tags.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.tags.create', ['tenant' => \tenant()]));
});
Breadcrumbs::for('bo.tags.edit', function (Generator $trail, Tag $tag) {
$trail->parent('bo.tags.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.tags.edit', [
'tenant' => \tenant(),
'tag' => $tag,
]));
});
Breadcrumbs::for('bo.tags.duplicate', function (Generator $trail) {
$trail->parent('bo.tags.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * SETTINGS
Breadcrumbs::for('bo.settings.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.setting'))->plural()->ucfirst(),
route('bo.settings.index', ['tenant' => \tenant()])
);
});
Breadcrumbs::for('bo.settings.create', function (Generator $trail) {
$trail->parent('bo.settings.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.settings.create', ['tenant' => \tenant()]));
});
Breadcrumbs::for('bo.settings.edit', function (Generator $trail, Setting $setting) {
$trail->parent('bo.settings.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.settings.edit', [
'tenant' => \tenant(),
'setting' => $setting,
]));
});
// * CONTACTS
Breadcrumbs::for('bo.contacts.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.contact'))->plural()->ucfirst(),
route('bo.contacts.index', ['tenant' => \tenant()])
);
});
Breadcrumbs::for('bo.contacts.show', function (Generator $trail, Contact $contact) {
$trail->parent('bo.contacts.index');
$trail->push(Str::ucfirst(trans('crud.actions.show')), route('bo.contacts.show', [
'tenant' => \tenant(),
'contact' => $contact
]));
});
// * FORMULARIES
Breadcrumbs::for('bo.formularies.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.formulary'))->plural()->ucfirst(),
route('bo.formularies.index', ['tenant' => \tenant()])
);
});
Breadcrumbs::for('bo.formularies.create', function (Generator $trail) {
$trail->parent('bo.formularies.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.formularies.create', ['tenant' => \tenant()]));
});
Breadcrumbs::for('bo.formularies.edit', function (Generator $trail, Formulary $formulary) {
$trail->parent('bo.formularies.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.formularies.edit', [
'tenant' => \tenant(),
'formulary' => $formulary,
]));
});
Breadcrumbs::for('bo.formularies.duplicate', function (Generator $trail) {
$trail->parent('bo.formularies.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});
// * DOCUMENTS
Breadcrumbs::for('bo.documents.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.document'))->plural()->ucfirst(),
route('bo.documents.index', ['tenant' => \tenant()])
);
});
Breadcrumbs::for('bo.documents.create', function (Generator $trail) {
$trail->parent('bo.documents.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.documents.create', ['tenant' => \tenant()]));
});
Breadcrumbs::for('bo.documents.edit', function (Generator $trail, Document $document) {
$trail->parent('bo.documents.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.documents.edit', [
'tenant' => \tenant(),
'document' => $document,
]));
});
// * DIRECTORIES
Breadcrumbs::for('bo.directories.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.directory'))->plural()->ucfirst(),
route('bo.directories.index', ['tenant' => \tenant()])
);
});
Breadcrumbs::for('bo.directories.edit', function (Generator $trail, Directory $directory) {
$trail->parent('bo.directories.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.directories.edit', [
'tenant' => \tenant(),
'directory' => $directory,
]));
});
// * APP USERS
Breadcrumbs::for('bo.app_users.index', function (Generator $trail) {
$trail->push(
Str::of(trans('models.classes.app_user'))->plural()->ucfirst(),
route('bo.app_users.index', ['tenant' => \tenant()])
);
});
Breadcrumbs::for('bo.app_users.create', function (Generator $trail) {
$trail->parent('bo.app_users.index');
$trail->push(Str::ucfirst(trans('crud.actions.create')), route('bo.app_users.create', ['tenant' => \tenant()]));
});
Breadcrumbs::for('bo.app_users.edit', function (Generator $trail, AppUser $appUser) {
$trail->parent('bo.app_users.index');
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.app_users.edit', [
'tenant' => \tenant(),
'app_user' => $appUser,
]));
});
Breadcrumbs::for('bo.app_users.duplicate', function (Generator $trail) {
$trail->parent('bo.app_users.index');
$trail->push(Str::ucfirst(trans('crud.actions.duplicate')));
});