diff --git a/app/Auth/Permissions/PermissionFormData.php b/app/Auth/Permissions/PermissionFormData.php index 781209043..ae06762f4 100644 --- a/app/Auth/Permissions/PermissionFormData.php +++ b/app/Auth/Permissions/PermissionFormData.php @@ -42,6 +42,18 @@ class PermissionFormData ->all(); } + /** + * Get the entity permission for the "Everyone Else" option. + */ + public function everyoneElseEntityPermission(): EntityPermission + { + /** @var EntityPermission $permission */ + $permission = $this->entity->permissions() + ->where('role_id', '=', 0) + ->first(); + return $permission ?? (new EntityPermission()); + } + /** * Get the "Everyone Else" role entry. */ diff --git a/app/Http/Controllers/PermissionsController.php b/app/Http/Controllers/PermissionsController.php index dd6c29a8a..93498a2b9 100644 --- a/app/Http/Controllers/PermissionsController.php +++ b/app/Http/Controllers/PermissionsController.php @@ -164,6 +164,7 @@ class PermissionsController extends Controller 'role' => $role, 'permission' => new EntityPermission(), 'entityType' => $entityType, + 'inheriting' => false, ]); } } diff --git a/resources/js/components/entity-permissions.js b/resources/js/components/entity-permissions.js index a18fc7a97..917dcc72d 100644 --- a/resources/js/components/entity-permissions.js +++ b/resources/js/components/entity-permissions.js @@ -18,7 +18,7 @@ class EntityPermissions { // "Everyone Else" inherit toggle this.everyoneInheritToggle.addEventListener('change', event => { const inherit = event.target.checked; - const permissions = document.querySelectorAll('input[type="checkbox"][name^="restrictions[0]["]'); + const permissions = document.querySelectorAll('input[name^="permissions[0]["]'); for (const permission of permissions) { permission.disabled = inherit; permission.checked = false; diff --git a/resources/views/form/entity-permissions-row.blade.php b/resources/views/form/entity-permissions-row.blade.php index 2bf19db64..a7a314bf4 100644 --- a/resources/views/form/entity-permissions-row.blade.php +++ b/resources/views/form/entity-permissions-row.blade.php @@ -2,6 +2,7 @@ $role - The Role to display this row for. $entityType - String identifier for type of entity having permissions applied. $permission - The entity permission containing the permissions. +$inheriting - Boolean if the current row should be marked as inheriting default permissions. Used for "Everyone Else" role. --}}
- @php - // TODO - $inheriting = ($role->id === 0); - @endphp @if($role->id === 0) -