- updated dossier dictionary entries to not be editable when there is no owner set;
- updated members selection list to appear only after the owner is set and saved;
This commit is contained in:
parent
f4f02bac87
commit
373cc241c9
@ -57,7 +57,7 @@ export class EditDossierDictionaryComponent implements EditDossierSectionInterfa
|
||||
|
||||
async ngOnInit() {
|
||||
this._loadingService.start();
|
||||
this.canEdit = this._permissionsService.isDossierMember(this.dossier);
|
||||
this.canEdit = this._permissionsService.canEditDossier(this.dossier);
|
||||
await this._updateDossierDictionary();
|
||||
this.form = this._getForm();
|
||||
this._loadingService.stop();
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<redaction-team-members
|
||||
(remove)="toggleSelected($event)"
|
||||
[canAdd]="false"
|
||||
[canRemove]="!disabled"
|
||||
[canRemove]="hasOwner"
|
||||
[dossierId]="dossier.dossierId"
|
||||
[largeSpacing]="true"
|
||||
[memberIds]="selectedApproversList"
|
||||
@ -29,7 +29,7 @@
|
||||
<redaction-team-members
|
||||
(remove)="toggleSelected($event)"
|
||||
[canAdd]="false"
|
||||
[canRemove]="!disabled"
|
||||
[canRemove]="hasOwner"
|
||||
[dossierId]="dossier.dossierId"
|
||||
[largeSpacing]="true"
|
||||
[memberIds]="selectedReviewers$ | async"
|
||||
@ -42,7 +42,7 @@
|
||||
<div class="info mt-4">{{ 'assign-dossier-owner.dialog.no-reviewers' | translate }}</div>
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="!disabled">
|
||||
<ng-container *ngIf="hasOwner">
|
||||
<iqser-input-with-action
|
||||
(valueChange)="setMembersSelectOptions($event)"
|
||||
[(value)]="searchQuery"
|
||||
|
||||
@ -54,6 +54,10 @@ export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDos
|
||||
return !this.userService.currentUser.isManager || !this.form.get('owner').value;
|
||||
}
|
||||
|
||||
get hasOwner() {
|
||||
return !!this.dossier.ownerId;
|
||||
}
|
||||
|
||||
get changed() {
|
||||
if (this.dossier.ownerId !== this.selectedOwnerId) {
|
||||
return true;
|
||||
@ -72,6 +76,14 @@ export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDos
|
||||
}
|
||||
|
||||
async save(): EditDossierSaveResult {
|
||||
if (!this.hasOwner) {
|
||||
const owner = this.form.get('owner').value;
|
||||
if (!this.isApprover(owner)) {
|
||||
this.toggleApprover(owner);
|
||||
}
|
||||
this._updateLists();
|
||||
}
|
||||
|
||||
const dossier = {
|
||||
...this.dossier,
|
||||
memberIds: this.selectedMembersList,
|
||||
@ -160,11 +172,13 @@ export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDos
|
||||
members: [[...this.dossier?.memberIds]],
|
||||
});
|
||||
this.addSubscription = this.form.get('owner').valueChanges.subscribe(owner => {
|
||||
if (!this.isApprover(owner)) {
|
||||
this.toggleApprover(owner);
|
||||
if (this.hasOwner) {
|
||||
if (!this.isApprover(owner)) {
|
||||
this.toggleApprover(owner);
|
||||
}
|
||||
// If it is an approver, it is already a member, no need to check
|
||||
this._updateLists();
|
||||
}
|
||||
// If it is an approver, it is already a member, no need to check
|
||||
this._updateLists();
|
||||
});
|
||||
this._updateLists();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user