From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 8 Dec 2022 10:03:50 +0000 (-0800) Subject: Bulk edit permissions X-Git-Tag: v1.14.0-beta.rc1~109^2~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ece5240a58d4eeccaf7b5eb7f3ec32bd2dacdf2;p=thirdparty%2Fpaperless-ngx.git Bulk edit permissions --- diff --git a/src-ui/src/app/app.module.ts b/src-ui/src/app/app.module.ts index 9e97ac90b6..c6b0c1484a 100644 --- a/src-ui/src/app/app.module.ts +++ b/src-ui/src/app/app.module.ts @@ -108,6 +108,7 @@ import localeSr from '@angular/common/locales/sr' import localeSv from '@angular/common/locales/sv' import localeTr from '@angular/common/locales/tr' import localeZh from '@angular/common/locales/zh' +import { PermissionsDialogComponent } from './components/common/permissions-dialog/permissions-dialog.component' registerLocaleData(localeBe) registerLocaleData(localeCs) @@ -203,6 +204,7 @@ function initializeApp(settings: SettingsService) { PermissionsGroupComponent, IfOwnerDirective, IfObjectPermissionsDirective, + PermissionsDialogComponent, ], imports: [ BrowserModule, diff --git a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts index 59d84bbe88..3cd90f2f4f 100644 --- a/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts +++ b/src-ui/src/app/components/common/confirm-dialog/confirm-dialog.component.ts @@ -1,6 +1,6 @@ import { Component, EventEmitter, Input, Output } from '@angular/core' import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' -import { interval, Subject, switchMap, take } from 'rxjs' +import { interval, Subject, take } from 'rxjs' @Component({ selector: 'app-confirm-dialog', diff --git a/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.html b/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.html new file mode 100644 index 0000000000..d169d5decb --- /dev/null +++ b/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.html @@ -0,0 +1,29 @@ + + + diff --git a/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.scss b/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.ts b/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.ts new file mode 100644 index 0000000000..f00d5ebeac --- /dev/null +++ b/src-ui/src/app/components/common/permissions-dialog/permissions-dialog.component.ts @@ -0,0 +1,46 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core' +import { FormControl, FormGroup } from '@angular/forms' +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' +import { PaperlessGroup } from 'src/app/data/paperless-group' +import { PaperlessUser } from 'src/app/data/paperless-user' + +@Component({ + selector: 'app-permissions-dialog', + templateUrl: './permissions-dialog.component.html', + styleUrls: ['./permissions-dialog.component.scss'], +}) +export class PermissionsDialogComponent implements OnInit { + constructor(public activeModal: NgbActiveModal) {} + + @Output() + public confirmClicked = new EventEmitter() + + @Input() + title = $localize`Set Permissions` + + form = new FormGroup({ + set_permissions: new FormGroup({ + view: new FormGroup({ + users: new FormControl([]), + groups: new FormControl([]), + }), + change: new FormGroup({ + users: new FormControl([]), + groups: new FormControl([]), + }), + }), + }) + + get permissions() { + return this.form.value['set_permissions'] + } + + @Input() + message = $localize`Note that permissions set here will override any existing permissions` + + ngOnInit(): void {} + + cancelClicked() { + this.activeModal.close() + } +} diff --git a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html index 21cd61c5cc..2b6209dda4 100644 --- a/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html +++ b/src-ui/src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -65,7 +65,13 @@
-
+
+ +