Show "retain VG" for vfModule that is allowed or that is an "alien"
[vid.git] / vid-webpack-master / src / app / shared / components / genericFormPopup / genericFormServices / vfModuleUpgrade / vfModule.upgrade.popuop.service.ts
index 667e796..eddfee0 100644 (file)
@@ -6,7 +6,7 @@ import {upgradeVFModule} from "../../../../storeUtil/utils/vfModule/vfModule.act
 import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
 import {NgRedux} from "@angular-redux/store";
 import {AppState} from "../../../../store/reducers";
-import {BasicControlGenerator} from "../../../genericForm/formControlsServices/basic.control.generator";
+import {ControlGeneratorUtil} from "../../../genericForm/formControlsServices/control.generator.util.service";
 import {VfModuleControlGenerator} from "../../../genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator";
 import {IframeService} from "../../../../utils/iframe.service";
 import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service";
@@ -16,8 +16,8 @@ import {FormControlModel} from "../../../../models/formControlModels/formControl
 import {CheckboxFormControl} from "../../../../models/formControlModels/checkboxFormControl.model";
 import {FormControlType} from "../../../../models/formControlModels/formControlTypes.enum";
 import {mergeObjectByPathAction} from "../../../../storeUtil/utils/general/general.actions";
-import * as _ from "lodash";
 import {VfModuleInstance} from "../../../../models/vfModuleInstance";
+import {SharedControllersService} from "../../../genericForm/formControlsServices/sharedControlles/shared.controllers.service";
 
 export enum UpgradeFormControlNames {
   RETAIN_VOLUME_GROUPS = 'retainVolumeGroups',
@@ -26,7 +26,8 @@ export enum UpgradeFormControlNames {
 
 @Injectable()
 export class VfModuleUpgradePopupService extends VfModulePopupServiceBase {
-  constructor(protected _basicControlGenerator: BasicControlGenerator,
+  constructor(protected _basicControlGenerator: ControlGeneratorUtil,
+              protected _sharedControllersService : SharedControllersService,
               protected _vfModuleControlGenerator: VfModuleControlGenerator,
               protected _iframeService: IframeService,
               protected _defaultDataGeneratorService: DefaultDataGeneratorService,
@@ -34,7 +35,7 @@ export class VfModuleUpgradePopupService extends VfModulePopupServiceBase {
               protected _basicPopupService: BasicPopupService,
               protected _store: NgRedux<AppState>,
               private _sharedTreeService: SharedTreeService) {
-    super(_basicControlGenerator, _vfModuleControlGenerator, _iframeService, _defaultDataGeneratorService, _aaiService, _basicPopupService, _store);
+    super(_basicControlGenerator, _sharedControllersService, _vfModuleControlGenerator, _iframeService, _defaultDataGeneratorService, _aaiService, _basicPopupService, _store);
   }
 
   node: ITreeNode;
@@ -44,10 +45,13 @@ export class VfModuleUpgradePopupService extends VfModulePopupServiceBase {
   getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean): FormControlModel[]  {
     let result: FormControlModel[] =[
       this.getRetainAssignmentsControl(),
-      this._basicControlGenerator.getSDNCControl(null)
+      this._sharedControllersService.getSDNCControl(null)
     ];
     const vfModuleInstance :VfModuleInstance = this._vfModuleControlGenerator.getVfModuleInstance(serviceId, vnfStoreKey, this.uuidData, isUpdateMode);
-    if(this._store.getState().service.serviceHierarchy[serviceId].vfModules[this.uuidData['modelName']].volumeGroupAllowed){
+
+    let volumeGroupAllowed = this._store.getState().service.serviceHierarchy[serviceId].vfModules[this.uuidData['modelName']].volumeGroupAllowed;
+    let vfModuleNotExistsOnModel = this._sharedTreeService.isVfModuleCustomizationIdNotExistsOnModel(this.uuidData['vfModule'], serviceId);
+    if(volumeGroupAllowed|| vfModuleNotExistsOnModel){
       result.push(this.getRetainVolumeGroupsControl());
     }
     result = this._basicControlGenerator.concatSupplementaryFile(result, vfModuleInstance);