From: Aashish Sharma Date: Thu, 10 Dec 2020 06:00:36 +0000 (+0530) Subject: mgr/dashboard: RGW User Form is validating disabled fields X-Git-Tag: v15.2.9~79^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cc856ebe78f5cb0d337f641d6167f5e7509342a3;p=ceph.git 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 --- 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 c1bf31244ea..e7645a6bb8c 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')) {