From cc856ebe78f5cb0d337f641d6167f5e7509342a3 Mon Sep 17 00:00:00 2001 From: Aashish Sharma Date: Thu, 10 Dec 2020 11:30:36 +0530 Subject: [PATCH] mgr/dashboard: RGW User Form is validating disabled fields When you try to submit a non valid form, angular is checking all the fields of the form, resulting in some wrong validations. Fixes:https://tracker.ceph.com/issues/47727 Signed-off-by: Aashish Sharma (cherry picked from commit 071d1f317de547bf8fae68a0700d429900d3a741) Conflicts: src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-form/rgw-user-form.component.ts - $localize is not available in octopus, stick with i18n; also ModalService is BsModalService in octopus --- .../app/ceph/rgw/rgw-user-form/rgw-user-form.component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-form/rgw-user-form.component.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-form/rgw-user-form.component.ts index c1bf31244eae..e7645a6bb8c3 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-form/rgw-user-form.component.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-form/rgw-user-form.component.ts @@ -63,6 +63,8 @@ export class RgwUserFormComponent implements OnInit { this.subuserLabel = this.i18n('subuser'); this.s3keyLabel = this.i18n('S3 Key'); this.capabilityLabel = this.i18n('capability'); + this.editing = this.router.url.startsWith(`/rgw/user/${URLVerbs.EDIT}`); + this.action = this.editing ? this.actionLabels.EDIT : this.actionLabels.CREATE; this.createForm(); } @@ -72,7 +74,7 @@ export class RgwUserFormComponent implements OnInit { uid: [ null, [Validators.required], - [CdValidators.unique(this.rgwUserService.exists, this.rgwUserService)] + this.editing ? [] : [CdValidators.unique(this.rgwUserService.exists, this.rgwUserService)] ], display_name: [null, [Validators.required]], email: [ @@ -150,8 +152,6 @@ export class RgwUserFormComponent implements OnInit { } ngOnInit() { - this.editing = this.router.url.startsWith(`/rgw/user/${URLVerbs.EDIT}`); - this.action = this.editing ? this.actionLabels.EDIT : this.actionLabels.CREATE; // Process route parameters. this.route.params.subscribe((params: { uid: string }) => { if (!params.hasOwnProperty('uid')) { -- 2.47.3