diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php index d1c31385fd..2c58d3ac7c 100644 --- a/resources/views/admin/users/edit.blade.php +++ b/resources/views/admin/users/edit.blade.php @@ -355,6 +355,9 @@ if (this.selectedPermissions.includes(self)) { this.selectedPermissions.push(sibling); } + if (sibling.includes('processes') || self.includes('processes')) { + this.checkProcessCategoryView(sibling, self); + } Vue.set(this, 'selectedPermissions', this.selectedPermissions.filter((v, i, arr) => arr.indexOf(v) === i)); }, checkEdit(sibling, $event) { @@ -364,6 +367,22 @@ return el !== sibling; }); } + if (sibling.includes('processes') || self.includes('processes')) { + this.checkProcessCategoryView(sibling, self); + } + Vue.set(this, 'selectedPermissions', this.selectedPermissions.filter((v, i, arr) => arr.indexOf(v) === i)); + }, + checkProcessCategoryView(sibling, self) { + const viewProcessCategoriesPermission = 'view-process-categories'; + if (this.selectedPermissions.includes(self)) { + this.selectedPermissions.push(viewProcessCategoriesPermission); + } + + if (!this.selectedPermissions.includes(self) && !this.selectedPermissions.includes(sibling)) { + this.selectedPermissions = this.selectedPermissions.filter(function (el) { + return el !== viewProcessCategoriesPermission; + }); + } Vue.set(this, 'selectedPermissions', this.selectedPermissions.filter((v, i, arr) => arr.indexOf(v) === i)); }, copyTextArea() { diff --git a/resources/views/components/categorized_resource.blade.php b/resources/views/components/categorized_resource.blade.php index d9814b698b..87e7d9691a 100644 --- a/resources/views/components/categorized_resource.blade.php +++ b/resources/views/components/categorized_resource.blade.php @@ -51,15 +51,15 @@