]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: RGW User Form is validating disabled fields 38594/head
authorAashish Sharma <aashishsharma@localhost.localdomain>
Thu, 10 Dec 2020 06:00:36 +0000 (11:30 +0530)
committerLaura Paduano <lpaduano@suse.com>
Thu, 17 Dec 2020 14:04:10 +0000 (15:04 +0100)
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 <aasharma@redhat.com>
(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

src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-user-form/rgw-user-form.component.ts

index c1bf31244eae5df24f0f530cbd61a17980eaa0b8..e7645a6bb8c304531446c0af9ef18df2771fe81a 100644 (file)
@@ -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')) {