Skip to content

Commit 8070bf9

Browse files
committed
Added snackbar. Removed global admin checks, as these are already done.
1 parent bebebec commit 8070bf9

File tree

5 files changed

+25
-13
lines changed

5 files changed

+25
-13
lines changed

src/app/applications/application-detail/application-detail.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,6 @@ export class ApplicationDetailComponent implements OnInit, OnDestroy, AfterViewI
8888
};
8989

9090
this.translate.get("APPLICATION.CHANGE-ORGANIZATION.TITLE").subscribe(translation => {
91-
if (!this.meService.hasGlobalAdmin()) return;
92-
9391
const changeOrganizationButton = {
9492
id: this.id,
9593
label: translation,

src/app/applications/application-detail/change-organization-dialog/change-organization-dialog.component.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ <h1 mat-dialog-title>{{ "APPLICATION.CHANGE-ORGANIZATION.TITLE" | translate }}</
2121
<mat-select
2222
id="userGroup"
2323
class="form-control"
24-
[formControl]="permissionMultiCtrl"
2524
[multiple]="true"
2625
panelClass="overflow-x-hidden"
2726
[(value)]="application.permissionIds"

src/app/applications/application-detail/change-organization-dialog/change-organization-dialog.component.ts

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Component, Inject, OnInit } from "@angular/core";
22
import { UntypedFormControl } from "@angular/forms";
33
import { MAT_DIALOG_DATA, MatDialogRef } from "@angular/material/dialog";
4+
import { MatSnackBar } from "@angular/material/snack-bar";
45
import { Organisation } from "@app/admin/organisation/organisation.model";
56
import { OrganisationService } from "@app/admin/organisation/organisation.service";
67
import { PermissionResponse } from "@app/admin/permission/permission.model";
@@ -21,7 +22,6 @@ export class ChangeOrganizationDialogComponent implements OnInit {
2122
public applicationsSubscription: Subscription;
2223
public permissionsSubscription: Subscription;
2324
public organizationsSubscription: Subscription;
24-
public permissionMultiCtrl: UntypedFormControl = new UntypedFormControl();
2525
public application: UpdateApplicationOrganization;
2626
public permissions: PermissionResponse[];
2727
public organizations: Organisation[];
@@ -34,14 +34,14 @@ export class ChangeOrganizationDialogComponent implements OnInit {
3434
private permissionService: PermissionService,
3535
private organizationService: OrganisationService,
3636
private sharedVariableService: SharedVariableService,
37+
private snackBar: MatSnackBar,
3738
private dialog: MatDialogRef<ChangeOrganizationDialogComponent>,
3839
@Inject(MAT_DIALOG_DATA) public dialogModel: ApplicationDialogModel
3940
) {
4041
this.application = {
4142
organizationId: this.dialogModel.organizationId ?? this.sharedVariableService.getSelectedOrganisationId(),
4243
permissionIds: [],
4344
};
44-
this.permissionMultiCtrl.setValue(this.application.permissionIds);
4545
}
4646

4747
ngOnInit(): void {
@@ -56,7 +56,6 @@ export class ChangeOrganizationDialogComponent implements OnInit {
5656
getApplication(id: number): void {
5757
this.applicationsSubscription = this.applicationService.getApplication(id).subscribe((application: Application) => {
5858
this.application.permissionIds = application.permissionIds;
59-
this.permissionMultiCtrl.setValue(this.application.permissionIds);
6059
});
6160
}
6261

@@ -85,17 +84,27 @@ export class ChangeOrganizationDialogComponent implements OnInit {
8584
this.permissions.filter(p => p?.organization?.id === this?.application?.organizationId)
8685
);
8786
this.filteredPermissionsMulti.subscribe(res => {
88-
this.permissionMultiCtrl.setValue(
89-
res.filter(permission => permission.automaticallyAddNewApplications).map(permission => permission.id)
90-
);
87+
this.application.permissionIds = res
88+
.filter(permission => permission.automaticallyAddNewApplications)
89+
.map(permission => permission.id);
9190
});
9291
}
9392

9493
onSubmit() {
9594
this.applicationsSubscription = this.applicationService
9695
.updateApplicationOrganization(this.application, this.dialogModel.id)
97-
.subscribe(() => {
98-
this.dialog.close();
96+
.subscribe(savedApplication => {
97+
this.snackBar.open(
98+
this.translate.instant("APPLICATION.CHANGE-ORGANIZATION.SNACKBAR-SAVED", {
99+
applicationName: savedApplication.name,
100+
organizationName: savedApplication.belongsTo.name,
101+
}),
102+
"",
103+
{
104+
duration: 10000,
105+
}
106+
);
107+
this.dialog.close(true);
99108
});
100109
}
101110
}

src/app/applications/applications-list/applications-table/applications-table.component.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,11 +273,17 @@ export class ApplicationsTableComponent implements AfterViewInit, OnInit {
273273
}
274274

275275
onOpenChangeOrganizationDialog(id: number) {
276-
this.changeOrganizationDialog.open(ChangeOrganizationDialogComponent, {
276+
const dialog = this.changeOrganizationDialog.open(ChangeOrganizationDialogComponent, {
277277
data: {
278278
id: id,
279279
} as ApplicationDialogModel,
280280
});
281+
282+
dialog.afterClosed().subscribe(res => {
283+
if (!res) return;
284+
285+
location.reload();
286+
});
281287
}
282288

283289
protected readonly columnDefinitions = columnDefinitions;

src/assets/i18n/da.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
"CHOOSE-ORGANIZATION": "Vælg hvilken organisation denne applikation skal tilhøre",
157157
"CHOOSE-USER-GROUPS": "Vælg hvilke brugergrupper, der skal have adgang",
158158
"USER-GROUP-AUTO-SELECT": "Brugergruppe med automatisk tilføjelse af nye applikationer er allerede valgt",
159-
"SNACKBAR-SAVED": " [Applikationsnavn] tilhører nu [Organisationsnavn]"
159+
"SNACKBAR-SAVED": "{{applicationName}} tilhører nu {{organizationName}}"
160160
}
161161
},
162162
"GATEWAY": {

0 commit comments

Comments
 (0)