diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts index 1afa4e127c..f1a5615cef 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.ts @@ -156,6 +156,8 @@ export class TenantsComponent implements OnInit { } saveConnectionString() { + if (this.modalBusy) return; + this.modalBusy = true; if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService @@ -181,13 +183,13 @@ export class TenantsComponent implements OnInit { } saveTenant() { - if (!this.tenantForm.valid) return; + if (!this.tenantForm.valid || this.modalBusy) return; this.modalBusy = true; this.store .dispatch( this.selected.id - ? new UpdateTenant({ ...this.tenantForm.value, id: this.selected.id }) + ? new UpdateTenant({ ...this.selected, ...this.tenantForm.value, id: this.selected.id }) : new CreateTenant(this.tenantForm.value), ) .pipe(finalize(() => (this.modalBusy = false))) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts b/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts index 7b7f693e71..7a82ff6079 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/states/tenant-management.state.ts @@ -62,9 +62,8 @@ export class TenantManagementState { @Action(UpdateTenant) update({ dispatch, getState }: StateContext, { payload }: UpdateTenant) { - return dispatch(new GetTenantById(payload.id)).pipe( - switchMap(() => this.tenantManagementService.updateTenant({ ...getState().selectedItem, ...payload })), - switchMap(() => dispatch(new GetTenants())), - ); + return this.tenantManagementService + .updateTenant({ ...getState().selectedItem, ...payload }) + .pipe(switchMap(() => dispatch(new GetTenants()))); } }