/**
* @file Project Add Modal
*/
+import { isNullOrUndefined } from 'util';
import { Component, Injector, Input, OnInit } from '@angular/core';
import { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { ProjectService } from 'ProjectService';
import { RestService } from 'RestService';
import { SharedService } from 'SharedService';
-import { isNullOrUndefined } from 'util';
/**
* Creating component
message: 'Done'
};
this.sharedService.cleanForm(this.projectForm);
+ for (const data of this.quotaItems) {
+ if (this.getFormControl(data.value).value > data.maxValue) {
+ this.notifierService.notify('error', this.translateService.instant('PAGE.PROJECT.QUOTALIMIT'));
+ break;
+ }
+ }
if (!this.projectForm.invalid) {
if (userType === 'Add') {
this.createProject();
}
/** Edit project @public */
public editProject(): void {
+ if (!this.projectForm.dirty) {
+ this.notifierService.notify('warning', this.translateService.instant('PAGE.TOPOLOGY.DATAEMPTY'));
+ return;
+ }
this.isLoadingResults = true;
const apiURLHeader: APIURLHEADER = {
url: environment.PROJECTS_URL + '/' + this.projectRef
this.isLoadingResults = false;
this.projectService.setHeaderProjects();
this.notifierService.notify('success', this.translateService.instant('PAGE.PROJECT.UPDATEDSUCCESSFULLY'));
+ this.activeModal.close(this.modalData);
}, (error: ERRORDATA): void => {
this.restService.handleError(error, 'patch');
this.isLoadingResults = false;
/** Used to get the AbstractControl of controlName passed @private */
private getFormControl(controlName: string): AbstractControl {
+ // eslint-disable-next-line security/detect-object-injection
return this.projectForm.controls[controlName];
}