From 720b61076a9182bb225153547451982e3dc9be81 Mon Sep 17 00:00:00 2001 From: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com> Date: Tue, 7 Mar 2023 17:59:52 -0600 Subject: [PATCH] [SM-611] Fix edit dialog & overview secrets refresh (#4951) * Fix edit dialog * Have secrets list refresh during project deletion * Fix input required for init edit * Fixing delete prompt for edit dialog --- .../secrets-manager/overview/overview.component.ts | 6 +++++- .../secrets/dialog/secret-delete.component.ts | 6 +++--- .../secrets/dialog/secret-dialog.component.ts | 12 +++++++++--- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.ts index c8a5668d7b2..a9e354202b2 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.ts @@ -116,7 +116,11 @@ export class OverviewComponent implements OnInit, OnDestroy { share() ); - const secrets$ = combineLatest([orgId$, this.secretService.secret$.pipe(startWith(null))]).pipe( + const secrets$ = combineLatest([ + orgId$, + this.secretService.secret$.pipe(startWith(null)), + this.projectService.project$.pipe(startWith(null)), + ]).pipe( switchMap(([orgId]) => this.secretService.getSecrets(orgId)), share() ); diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-delete.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-delete.component.ts index f8d9b03c8a6..a0daefe6e44 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-delete.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-delete.component.ts @@ -46,7 +46,7 @@ export class SecretDeleteDialogComponent { if (bulkResponses.find((response) => response.errorMessage)) { this.openBulkStatusDialog(bulkResponses.filter((response) => response.errorMessage)); - this.dialogRef.close(); + this.dialogRef.close(true); return; } @@ -54,7 +54,7 @@ export class SecretDeleteDialogComponent { this.data.secrets.length === 1 ? "softDeleteSuccessToast" : "softDeletesSuccessToast"; this.platformUtilsService.showToast("success", null, this.i18nService.t(message)); - this.dialogRef.close(); + this.dialogRef.close(true); }; openBulkStatusDialog(bulkStatusResults: BulkOperationStatus[]) { @@ -62,7 +62,7 @@ export class SecretDeleteDialogComponent { data: { title: "deleteSecrets", subTitle: "secrets", - columnTitle: "secretName", + columnTitle: "name", message: "bulkDeleteSecretsErrorMessage", details: bulkStatusResults, }, diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-dialog.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-dialog.component.ts index 7459a534a76..a93e6e22787 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-dialog.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/secrets/dialog/secret-dialog.component.ts @@ -78,7 +78,7 @@ export class SecretDialogComponent implements OnInit { name: secret.name, value: secret.value, notes: secret.note, - project: secret.projects[0]?.id, + project: secret.projects[0]?.id ?? "", }); this.loading = false; } @@ -154,12 +154,18 @@ export class SecretDialogComponent implements OnInit { private getSecretListView() { const secretListViews: SecretListView[] = []; const emptyProjects: SecretProjectView[] = []; - const selectedProject = [this.projects.find((p) => p.id == this.formGroup.value.project)]; const secretListView = new SecretListView(); + + if (this.formGroup.value.project) { + secretListView.projects = [this.projects.find((p) => p.id == this.formGroup.value.project)]; + } else { + secretListView.projects = emptyProjects; + } + secretListView.organizationId = this.data.organizationId; + secretListView.id = this.data.secretId; secretListView.name = this.formGroup.value.name; - secretListView.projects = selectedProject ? selectedProject : emptyProjects; secretListViews.push(secretListView); return secretListViews; }