aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts')
-rw-r--r--vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts35
1 files changed, 34 insertions, 1 deletions
diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts
index 26776d05d..84703170f 100644
--- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts
+++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts
@@ -254,7 +254,10 @@ export class SharedTreeService {
isVfMoudleCouldBeUpgraded(node, serviceModelId): boolean{
return (FeatureFlagsService.getFlagState(Features.FLAG_FLASH_REPLACE_VF_MODULE, this._store) &&
- (this.isThereAnUpdatedLatestVersion(serviceModelId) || this.isVfModuleCustomizationIdNotExistsOnModel(node, serviceModelId)))
+ (this.isThereAnUpdatedLatestVersion(serviceModelId) || this.isVfModuleCustomizationIdNotExistsOnModel(node, serviceModelId)) &&
+ (this.upgradeAllowedForBm(node,serviceModelId)))
+
+
}
isVfModuleCustomizationIdNotExistsOnModel(vfModuleNode, serviceModelId) {
@@ -564,4 +567,34 @@ export class SharedTreeService {
isAddPositionFlagTrue():boolean{
return FeatureFlagsService.getFlagState(Features.FLAG_2008_CREATE_VFMODULE_INSTANTIATION_ORDER_NUMBER, this._store);
}
+
+ upgradeAllowedForBm(node, serviceModelId):boolean {
+
+ if(FeatureFlagsService.getFlagState(Features.FLAG_2012_UPGRADE_BASE_MODULE_FLAG, this._store)){
+ let returnValue = false;
+ if(node.data.type == 'VFmodule') {
+ let serviceHierarchy = this._store.getState().service.serviceHierarchy[serviceModelId];
+ let vnf = node.parent.data.modelName;
+ let baseModuleFlag= (serviceHierarchy.vnfs[vnf].vfModules[node.data.modelName].properties.baseModule) ? true: false;
+
+ if(baseModuleFlag) {
+ if(node.parent.children.length >1) {
+ return returnValue;
+ }
+ else {
+ returnValue = true;
+ }
+ }else {
+ returnValue = true;
+ }
+
+ } else {
+ returnValue= true
+ }
+
+ return returnValue;
+ } else {
+ return true;
+ }
+ }
}