]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
fix inherited permissions not visually showing as checked
authorMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Mon, 12 Dec 2022 23:43:27 +0000 (15:43 -0800)
committerMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Tue, 13 Dec 2022 06:40:31 +0000 (22:40 -0800)
src-ui/src/app/components/common/edit-dialog/user-edit-dialog/user-edit-dialog.component.html
src-ui/src/app/components/common/permissions-select/permissions-select.component.html
src-ui/src/app/components/common/permissions-select/permissions-select.component.ts

index 5bb5b5d81b45cd1afae29db003021f07e2fa9642..1b811d5f727922f05a6a2cc9a5ef899b9c18577a 100644 (file)
@@ -18,7 +18,7 @@
             </div>
             <div class="form-check form-switch form-check-inline">
               <input type="checkbox" class="form-check-input" id="is_superuser" formControlName="is_superuser" (change)="onToggleSuperUser()">
-              <label class="form-check-label" for="is_superuser"><ng-container i18n>Superuser</ng-container> <small class="form-text text-muted ms-1" i18n>(Grants all permissions)</small></label>
+              <label class="form-check-label" for="is_superuser"><ng-container i18n>Superuser</ng-container> <small class="form-text text-muted ms-1" i18n>(Grants all permissions and objects)</small></label>
             </div>
           </div>
 
index 9f089449a58d7d527c06af9557c416dde48de88e..1907f4e3fea8e45495978a7ab7d745fe3064d876 100644 (file)
@@ -13,7 +13,7 @@
       <div class="col-3">{{type.key}}:</div>
 
       <div class="col form-check form-check-inline form-switch" [ngbPopover]="inheritedWarning" [disablePopover]="!isInherited(type.key)" placement="left" triggers="mouseenter:mouseleave">
-        <input type="checkbox" class="form-check-input" id="{{type.key}}_all" (change)="toggleAll($event, type.key)" [checked]="typesWithAllActions.has(type.key)" [attr.disabled]="disabled || isInherited(type.key) ? true : null">
+        <input type="checkbox" class="form-check-input" id="{{type.key}}_all" (change)="toggleAll($event, type.key)" [checked]="typesWithAllActions.has(type.key) || isInherited(type.key)" [attr.disabled]="disabled || isInherited(type.key) ? true : null">
         <label class="form-check-label visually-hidden" for="{{type.key}}_all" i18n>All</label>
       </div>
 
index 0a0c86ec411b510c0ea79e572bc34aa6dd8b16d0..74e8a73c4f6d7406e9a5b59268823e1648865ce8 100644 (file)
@@ -46,9 +46,14 @@ export class PermissionsSelectComponent
   @Input()
   set inheritedPermissions(inherited: string[]) {
     // remove <app_label>. from permission strings
-    this._inheritedPermissions = inherited?.length
+    const newInheritedPermissions = inherited?.length
       ? inherited.map((p) => p.replace(/^\w+\./g, ''))
       : []
+
+    if (this._inheritedPermissions !== newInheritedPermissions) {
+      this._inheritedPermissions = newInheritedPermissions
+      this.writeValue(this.permissions) // updates visual checks etc.
+    }
   }
 
   inheritedWarning: string = $localize`Inerhited from group`