You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dg...@apache.org on 2020/11/11 14:17:48 UTC

[incubator-datalab] 02/03: [DATALAB-2142]: Fixed validation on manage quota popup

This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a commit to branch DATALAB-2142
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit 8bc804c3b011db33ee2e8ee90227faa661e156a9
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Wed Nov 11 16:16:29 2020 +0200

    [DATALAB-2142]: Fixed validation on manage quota popup
---
 .../manage-environment-dilog.component.ts            | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts
index 49e6fec..f31ede9 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts
@@ -60,14 +60,17 @@ export class ManageEnvironmentComponent implements OnInit {
   public onFormChange() {
     this.manageUsersForm.valueChanges.subscribe(value => {
       this.isFormChanged = JSON.stringify(this.initialFormState) === JSON.stringify(this.manageUsersForm.value);
-      if ((this.getCurrentTotalValue() && this.getCurrentTotalValue() >= this.getCurrentUsersTotal())) {
-        this.manageUsersForm.controls['projects']['controls'].forEach(v => {
-            v.controls['budget'].errors &&
-            'max' in v.controls['budget'].errors ? null : v.controls['budget'].setErrors(null);
+      if (this.getCurrentTotalValue()) {
+        if (this.getCurrentTotalValue() >= this.getCurrentUsersTotal()) {
+          this.manageUsersForm.controls['total'].setErrors(null);
+          this.manageUsersForm.controls['projects']['controls'].forEach(v => {
+              v.controls['budget'].errors &&
+              'max' in v.controls['budget'].errors ? null : v.controls['budget'].setErrors(null);
+            }
+          );
+        } else {
+          this.manageUsersForm.controls['total'].setErrors({ overrun: true });
         }
-        );
-        this.manageUsersForm.controls['total'].errors &&
-        this.manageUsersForm.controls['total'].errors ? null : this.manageUsersForm.controls['total'].setErrors(null);
       }
     });
   }
@@ -99,7 +102,7 @@ export class ManageEnvironmentComponent implements OnInit {
 
   public setProjectsControl() {
     this.manageUsersForm.setControl('projects',
-      this._fb.array((this.data.projectsList || []).map((x: any) => this._fb.group({
+      this._fb.array((this.data.projectsList || []).map((x: any, index: number) => this._fb.group({
         project: x.name,
         budget: [x.budget.value, [ Validators.max(1000000000), this.userValidityCheck.bind(this)]],
         monthlyBudget: x.budget.monthlyBudget,
@@ -129,6 +132,7 @@ export class ManageEnvironmentComponent implements OnInit {
 
   private userValidityCheck(control) {
     if (control && control.value) {
+      this.manageUsersForm.value.projects.find(v => v.project === control.parent.value.project).budget = control.value;
       return (this.getCurrentTotalValue() && this.getCurrentTotalValue() < this.getCurrentUsersTotal()) ? { overrun: true } : null;
     }
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org