Auto-set user & user's groups in permissions when creating folder
This commit is contained in:
parent
a58c96a51e
commit
e83a17524c
@ -1,12 +1,14 @@
|
|||||||
import { Component, OnInit } from '@angular/core'
|
import { AfterViewInit, Component, OnInit } from '@angular/core'
|
||||||
import { FormControl, FormGroup } from '@angular/forms'
|
import { FormControl, FormGroup } from '@angular/forms'
|
||||||
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { Subscription } from 'rxjs'
|
import { Subscription } from 'rxjs'
|
||||||
import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model'
|
import { DEFAULT_MATCHING_ALGORITHM } from 'src/app/data/matching-model'
|
||||||
import { PaperlessStoragePath } from 'src/app/data/paperless-storage-path'
|
import { PaperlessStoragePath } from 'src/app/data/paperless-storage-path'
|
||||||
|
import { PermissionsService } from 'src/app/services/permissions.service'
|
||||||
import { StoragePathService } from 'src/app/services/rest/storage-path.service'
|
import { StoragePathService } from 'src/app/services/rest/storage-path.service'
|
||||||
import { UserService } from 'src/app/services/rest/user.service'
|
import { UserService } from 'src/app/services/rest/user.service'
|
||||||
import { EditDialogComponent } from '../../edit-dialog/edit-dialog.component'
|
import { EditDialogComponent } from '../../edit-dialog/edit-dialog.component'
|
||||||
|
import { SettingsService } from 'src/app/services/settings.service'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-folder-create-dialog',
|
selector: 'app-folder-create-dialog',
|
||||||
@ -15,13 +17,14 @@ import { EditDialogComponent } from '../../edit-dialog/edit-dialog.component'
|
|||||||
})
|
})
|
||||||
export class FolderCreateDialogComponent
|
export class FolderCreateDialogComponent
|
||||||
extends EditDialogComponent<PaperlessStoragePath>
|
extends EditDialogComponent<PaperlessStoragePath>
|
||||||
implements OnInit {
|
implements OnInit, AfterViewInit {
|
||||||
nameSub: Subscription
|
nameSub: Subscription
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
service: StoragePathService,
|
service: StoragePathService,
|
||||||
activeModal: NgbActiveModal,
|
activeModal: NgbActiveModal,
|
||||||
userService: UserService
|
userService: UserService,
|
||||||
|
private settingsService: SettingsService
|
||||||
) {
|
) {
|
||||||
super(service, activeModal, userService)
|
super(service, activeModal, userService)
|
||||||
}
|
}
|
||||||
@ -37,8 +40,20 @@ export class FolderCreateDialogComponent
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ngAfterViewInit(): void {
|
||||||
|
this.objectForm.get('permissions_form').patchValue({
|
||||||
|
owner: this.settingsService.currentUser.id,
|
||||||
|
set_permissions: {
|
||||||
|
view: { users: [], groups: [] },
|
||||||
|
change: { users: [], groups: this.settingsService.currentUser.groups },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
submit(): void {
|
submit(): void {
|
||||||
this.nameSub.unsubscribe()
|
this.nameSub.unsubscribe()
|
||||||
|
// This has to be done here, if we do it in the subscription,
|
||||||
|
// user's input will get constantly interrupted
|
||||||
this.objectForm.get('name').patchValue(this.objectForm.get('path').value)
|
this.objectForm.get('name').patchValue(this.objectForm.get('path').value)
|
||||||
this.save()
|
this.save()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user