Fix Bug 2309: VIM update issue 97/13997/1 release-v15.0-start v15.0.0
authorSANDHYA.JS <sandhya.j@tataelxsi.co.in>
Thu, 9 Nov 2023 07:20:28 +0000 (12:50 +0530)
committerSANDHYA.JS <sandhya.j@tataelxsi.co.in>
Thu, 9 Nov 2023 07:20:28 +0000 (12:50 +0530)
- Fixed this bug by adding warning message for below scenarios
  1st scenario : if the config is send empty from UI it'll show the error "Atleast one config information is required"
  2nd scenario: config deleting is not allowed user can change the value to true or false based on his/her requirement for this action error message will be "Disallowed operation in config update".
- Also for update load config and clear config button will be not available user can only edit his/her config.

Change-Id: Ib30aaa069f64ca3fcd1412591a4a69ae27098df2
Signed-off-by: SANDHYA.JS <sandhya.j@tataelxsi.co.in>
src/app/vim-accounts/new-vimaccount/NewVimaccountComponent.html
src/app/vim-accounts/new-vimaccount/NewVimaccountComponent.ts
src/assets/i18n/de.json
src/assets/i18n/en.json
src/assets/i18n/es.json
src/assets/i18n/pt.json

index 7720afa..be535d2 100644 (file)
@@ -148,7 +148,7 @@ Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.i
         <div id="configurationparameters" class="row collapse mt-3" [ngbCollapse]="isCollapsed">
             <div class="col-sm-12">
                 <div class="ngx-codemirror new-vim" [hidden]="!selectedVimType">
-                    <div class="form-group">
+                    <div class="form-group"  *ngIf="!vimID">
                         <button type="button" class="btn btn-warning btn-sm mr-3" (click)="checkData()">
                             <i class="fa fa-clone" aria-hidden="true"></i>
                             {{'PAGE.VIMDETAILS.LOADSAMPLECONFIG' | translate}}</button>
index 724bef2..05fe4a2 100644 (file)
@@ -171,6 +171,15 @@ export class NewVimaccountComponent implements OnInit {
   // eslint-disable-next-line @typescript-eslint/no-magic-numbers
   private configLength: number = 3;
 
+  /** Contains config length from get api @private */
+  private getConfigLength: number;
+
+  /** Contains config when update @private */
+  private updateConfig: object;
+
+  /** Contains config length when update @private */
+  private updateConfigLength: number;
+
   /** Instance of the rest service @private */
   private restService: RestService;
 
@@ -266,6 +275,7 @@ export class NewVimaccountComponent implements OnInit {
         }
       }
       delete this.details.config.location;
+      this.getConfigLength = Object.keys(this.details.config).length;
       this.getFormControl('schema_type').disable();
       this.getFormControl('vim_url').disable();
       this.getFormControl('vim_type').disable();
@@ -332,9 +342,23 @@ export class NewVimaccountComponent implements OnInit {
           delete this.vimNewAccountForm.value.config[res];
         }
       });
-      if (!isNullOrUndefined(this.vimID)) {
+      delete this.vimNewAccountForm.value.config.location;
+      if (!isNullOrUndefined(this.data)) {
+        this.updateConfig = jsyaml.load(this.data, { json: true });
+        if (!isNullOrUndefined(this.updateConfig)) {
+          this.updateConfigLength = Object.keys(this.updateConfig).length;
+        }
+      }
+      if (this.updateConfig === undefined) {
+        this.notifierService.notify('warning', this.translateService.instant('PAGE.VIMDETAILS.VIMDELETE'));
+        this.isLocationLoadingResults = false;
+      } else if (this.getConfigLength > this.updateConfigLength) {
+        this.notifierService.notify('warning', this.translateService.instant('PAGE.VIMDETAILS.VIMEMPTY'));
+        this.isLocationLoadingResults = false;
+      }
+      if (!isNullOrUndefined(this.vimID) && ((this.getConfigLength <= this.updateConfigLength))) {
         this.editVIM();
-      } else {
+      } else if (isNullOrUndefined(this.vimID)) {
         this.createNewVIM();
       }
     }
index 0bd8553..97527ec 100644 (file)
             "VIMHEADER": "Warnung",
             "VIMCONTENT": "Diese Aktion umfasst das Laden der Beispielkonfiguration und das Löschen der aktuellen Konfiguration",
             "CLEARCONTENT": "Diese Aktion beinhaltet das Löschen der aktuellen Konfiguration",
-            "VIMSUBMIT": "Fortfahren"
+            "VIMSUBMIT": "Fortfahren",
+            "VIMEMPTY": "Unzulässiger Vorgang beim Konfigurationsupdate",
+            "VIMDELETE": "Es sind mindestens eine Konfigurationsinformation erforderlich"
         },
         "WIMACCOUNTS": {
             "CREATEDSUCCESSFULLY": "WIM erfolgreich erstellt",
index 7ea835d..c6a419c 100644 (file)
             "VIMHEADER": "Warning",
             "VIMCONTENT": "This action involves loading the sample config & deleting the present config",
             "CLEARCONTENT": "This action involves deleting the present config",
-            "VIMSUBMIT": "Proceed"
+            "VIMSUBMIT": "Proceed",
+            "VIMEMPTY": "Disallowed operation in config update",
+            "VIMDELETE": "At least one config information is required"
         },
         "WIMACCOUNTS": {
             "CREATEDSUCCESSFULLY": "WIM Created Successfully",
index 7701f03..9332c26 100644 (file)
             "VIMHEADER": "Advertencia",
             "VIMCONTENT": "Esta acción implica cargar la configuración de muestra y eliminar la configuración actual.",
             "CLEARCONTENT": "Esta acción implica eliminar la configuración actual.",
-            "VIMSUBMIT": "Proceder"
+            "VIMSUBMIT": "Proceder",
+            "VIMEMPTY": "Operación no permitida en la actualización de configuración",
+            "VIMDELETE": "Se requiere al menos una información de configuración"
         },
         "WIMACCOUNTS": {
             "CREATEDSUCCESSFULLY": "WIM Creado correctamente",
index 04eea20..a553f38 100644 (file)
             "VIMHEADER": "Aviso",
             "VIMCONTENT": "Esta ação envolve carregar a configuração de amostra e excluir a configuração atual",
             "CLEARCONTENT": "Esta ação envolve a exclusão da configuração atual",
-            "VIMSUBMIT": "Continuar"
+            "VIMSUBMIT": "Continuar",
+            "VIMEMPTY": "Operação não permitida na atualização de configuração",
+            "VIMDELETE": "É necessária pelo menos uma informação de configuração"
         },
         "WIMACCOUNTS": {
             "CREATEDSUCCESSFULLY": "WIM criado com sucesso",