From 96386ef0e6d8c8f7f99b2c9758d6500e36ad409a Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Fri, 23 Aug 2019 12:01:46 +0300 Subject: [PATCH 1/3] fix(tenant): add validation to connection string #resolves 1641 --- .../lib/components/tenants/tenants.component.ts | 14 +++++++++++--- .../theme-shared/src/lib/theme-shared.module.ts | 3 --- 2 files changed, 11 insertions(+), 6 deletions(-) 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 f7fda948b6..57e39f6fc4 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 @@ -93,7 +93,7 @@ export class TenantsComponent { private createDefaultConnectionStringForm() { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: this.defaultConnectionString || '', + defaultConnectionString: [this.defaultConnectionString || '', Validators.required], }); } @@ -150,13 +150,21 @@ export class TenantsComponent { } saveConnectionString() { + if (this.defaultConnectionStringForm.invalid) { + this.defaultConnectionStringForm.get('defaultConnectionString').markAsDirty(); + this.defaultConnectionStringForm.get('defaultConnectionString').updateValueAndValidity(); + return; + } + this.modalBusy = true; if (this.useSharedDatabase) { this.tenantService .deleteDefaultConnectionString(this.selected.id) - .pipe(take(1)) + .pipe( + take(1), + finalize(() => (this.modalBusy = false)), + ) .subscribe(() => { - this.modalBusy = false; this.isModalVisible = false; }); } else { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index ffa3ee3f44..c2d920118d 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -1,6 +1,5 @@ import { CoreModule, LazyLoadService } from '@abp/ng.core'; import { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core'; -import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap'; import { NgxValidateCoreModule } from '@ngx-validate/core'; import { MessageService } from 'primeng/components/common/messageservice'; import { ToastModule } from 'primeng/toast'; @@ -40,7 +39,6 @@ export function appendScript(injector: Injector) { imports: [ CoreModule, ToastModule, - NgbModalModule, NgxValidateCoreModule.forRoot({ targetSelector: '.form-group', blueprints: { @@ -67,7 +65,6 @@ export function appendScript(injector: Injector) { ProfileComponent, ], exports: [ - NgbModalModule, ButtonComponent, ConfirmationComponent, ToastComponent, From 97af208f9a9f9d359d73f516ca58759b50254cce Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 27 Aug 2019 12:02:19 +0300 Subject: [PATCH 2/3] fix(tenant-management): change checkbox html element --- .../lib/components/tenants/tenants.component.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html index cd1abf487d..04f6c86a3b 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html +++ b/npm/ng-packs/packages/tenant-management/src/lib/components/tenants/tenants.component.html @@ -127,22 +127,22 @@
-
+ + From adf32c1cb265c2d2e06d158cf4c0453f041c0f75 Mon Sep 17 00:00:00 2001 From: TheDiaval Date: Tue, 27 Aug 2019 12:03:29 +0300 Subject: [PATCH 3/3] fix(tenant-management): fix default connection string modal validation issue #1641 --- .../lib/components/tenants/tenants.component.ts | 16 ++++++---------- .../lib/services/tenant-management.service.ts | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) 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 57e39f6fc4..8624862323 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 @@ -93,7 +93,7 @@ export class TenantsComponent { private createDefaultConnectionStringForm() { this.defaultConnectionStringForm = this.fb.group({ useSharedDatabase: this._useSharedDatabase, - defaultConnectionString: [this.defaultConnectionString || '', Validators.required], + defaultConnectionString: [this.defaultConnectionString || ''], }); } @@ -150,14 +150,8 @@ export class TenantsComponent { } saveConnectionString() { - if (this.defaultConnectionStringForm.invalid) { - this.defaultConnectionStringForm.get('defaultConnectionString').markAsDirty(); - this.defaultConnectionStringForm.get('defaultConnectionString').updateValueAndValidity(); - return; - } - this.modalBusy = true; - if (this.useSharedDatabase) { + if (this.useSharedDatabase || (!this.useSharedDatabase && !this.connectionString)) { this.tenantService .deleteDefaultConnectionString(this.selected.id) .pipe( @@ -170,9 +164,11 @@ export class TenantsComponent { } else { this.tenantService .updateDefaultConnectionString({ id: this.selected.id, defaultConnectionString: this.connectionString }) - .pipe(take(1)) + .pipe( + take(1), + finalize(() => (this.modalBusy = false)), + ) .subscribe(() => { - this.modalBusy = false; this.isModalVisible = false; }); } diff --git a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts index c89ee6577a..5763efa4d2 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management.service.ts @@ -83,7 +83,7 @@ export class TenantManagementService { } deleteDefaultConnectionString(id: string): Observable { - const url = `/api/multi-tenancy/tenant/${id}/default-connection-string`; + const url = `/api/multi-tenancy/tenants/${id}/default-connection-string`; const request: Rest.Request = { method: 'DELETE',