]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
disable instead of hide doc edit buttons
authorMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Thu, 8 Dec 2022 19:19:52 +0000 (11:19 -0800)
committerMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Thu, 8 Dec 2022 19:19:52 +0000 (11:19 -0800)
src-ui/src/app/components/document-detail/document-detail.component.html
src-ui/src/app/components/document-detail/document-detail.component.ts

index d2100b59cfe6f6423f1773e7ef2d9ead8e021db7..ec9766d9fad76102b8758a0de12db39e6255e2c7 100644 (file)
@@ -5,7 +5,7 @@
       <div class="input-group-text" i18n>of {{previewNumPages}}</div>
     </div>
 
-    <button *ifOwner="document" type="button" class="btn btn-sm btn-outline-danger me-2 ms-auto" (click)="delete()">
+    <button type="button" class="btn btn-sm btn-outline-danger me-2 ms-auto" (click)="delete()" [disabled]="!userIsOwner">
         <svg class="buttonicon" fill="currentColor">
             <use xlink:href="assets/bootstrap-icons.svg#trash" />
         </svg><span class="d-none d-lg-inline ps-1" i18n>Delete</span>
@@ -20,7 +20,7 @@
         </a>
 
         <div class="btn-group" ngbDropdown role="group" *ngIf="metadata?.has_archive_version">
-            <button class="btn btn-sm btn-outline-primary dropdown-toggle-split" ngbDropdownToggle></button>
+            <button class="btn btn-sm btn-outline-primary dropdown-toggle" ngbDropdownToggle></button>
             <div class="dropdown-menu shadow" ngbDropdownMenu>
                 <a ngbDropdownItem [href]="downloadOriginalUrl" i18n>Download original</a>
             </div>
 
             <div [ngbNavOutlet]="nav" class="mt-2"></div>
 
-            <ng-container *ifObjectPermissions="{ object: document, action: PermissionAction.Change }">
-                <button type="button" class="btn btn-outline-secondary" (click)="discard()" i18n [disabled]="networkActive || !(isDirty$ | async)">Discard</button>&nbsp;
-                <button type="button" class="btn btn-outline-primary" (click)="saveEditNext()" *ngIf="hasNext()" i18n [disabled]="networkActive || !(isDirty$ | async) || error">Save & next</button>&nbsp;
-                <button type="submit" class="btn btn-primary" *ifPermissions="{ action: PermissionAction.Change, type: PermissionType.Document }" i18n [disabled]="networkActive || !(isDirty$ | async) || error">Save</button>&nbsp;
+            <ng-container>
+                <button type="button" class="btn btn-outline-secondary" (click)="discard()" i18n [disabled]="!userCanEdit || networkActive || !(isDirty$ | async)">Discard</button>&nbsp;
+                <button type="button" class="btn btn-outline-primary" (click)="saveEditNext()" *ngIf="hasNext()" i18n [disabled]="!userCanEdit || networkActive || !(isDirty$ | async) || error">Save & next</button>&nbsp;
+                <button type="submit" class="btn btn-primary" *ifPermissions="{ action: PermissionAction.Change, type: PermissionType.Document }" i18n [disabled]="!userCanEdit || networkActive || !(isDirty$ | async) || error">Save</button>&nbsp;
             </ng-container>
         </form>
     </div>
index 740ef46f9cae3054396a7500f232d17a645135ff..2fe42bc259bdad7911a470e7bc5e9bed099d9db0 100644 (file)
@@ -585,6 +585,13 @@ export class DocumentDetailComponent
     )
   }
 
+  get userIsOwner(): boolean {
+    return (
+      !this.document ||
+      this.permissionsService.currentUserOwnsObject(this.document)
+    )
+  }
+
   get userCanEdit(): boolean {
     return (
       !this.document ||