diff --git a/app/Policies/UserPolicy.php b/app/Policies/UserPolicy.php index 7b68a5f..9cdf972 100644 --- a/app/Policies/UserPolicy.php +++ b/app/Policies/UserPolicy.php @@ -126,4 +126,17 @@ class UserPolicy UserStaticRules::atLeastRole($authUser, RoleEnum::conceptor) and UserStaticRules::atLeastRole($authUser, $user->role); } + + /** + * Determine whether the user can update associated brands to the model. + * + * @param \App\Models\User $authUser + * @param \App\Models\User $user + * @return booleanean + */ + public function changeBrands(User $authUser, User $user): bool + { + return UserStaticRules::atLeastRole($authUser, RoleEnum::conceptor) && + $user->role->equals(RoleEnum::marketing); + } } diff --git a/resources/views/bo/pages/users/create.blade.php b/resources/views/bo/pages/users/create.blade.php index 01ddda7..77883b4 100644 --- a/resources/views/bo/pages/users/create.blade.php +++ b/resources/views/bo/pages/users/create.blade.php @@ -7,7 +7,7 @@ @section('content')
{{ __('* Champs obligatoires') }}
@@ -154,20 +156,6 @@ event.preventDefault(); submit.click(); }); - - // If the role is marketing, need brands associated. - const selectRole = document.getElementById('userRole'); - const userRoleFieldset = document.getElementById('userRoleFieldset'); - selectRole.addEventListener('change', (event) => { - updateBrandsFieldsetStatus(Number(event.target.value)); - }); - updateBrandsFieldsetStatus(Number("{{ $userModel->role?->value() ?? \App\Enums\Users\RoleEnum::conceptor->value() }}")); - function updateBrandsFieldsetStatus(value) { - const marketingValue = {{ \App\Enums\Users\RoleEnum::marketing->value() }}; - const condition = value !== marketingValue; - userRoleFieldset.disabled = condition; - userRoleFieldset.className = `h-100 border p-3 ${condition ? 'd-none' : ''}`; - } }); @endpush diff --git a/routes/breadcrumbs-bo.php b/routes/breadcrumbs-bo.php index 8ac0d46..efe6310 100644 --- a/routes/breadcrumbs-bo.php +++ b/routes/breadcrumbs-bo.php @@ -22,9 +22,9 @@ 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, User $user) { +Breadcrumbs::for('bo.users.duplicate', function (Generator $trail) { $trail->parent('bo.users.index'); - $trail->push(Str::ucfirst(trans('crud.actions.duplicate')), route('bo.users.duplicate', $user)); + $trail->push(Str::ucfirst(trans('crud.actions.duplicate'))); }); // * ACTIVITY_LOGS