diff options
author | Kruthi Bhat <krutbhat@att.com> | 2020-11-23 23:31:56 +0530 |
---|---|---|
committer | Ikram Ikramullah <ikram@research.att.com> | 2020-11-25 22:40:59 +0000 |
commit | 3e558222d300ff70ff490914cc2245cf2a59e72a (patch) | |
tree | bd95cf9eebb9dc28ac64a4d31066f2e212265244 /vid-webpack-master/src/app | |
parent | e139ae6a162a7882d6d40203287a3e906a42564c (diff) |
Prevent upgrade for base vf module with add on
Change-Id: Ie8139056ae560f734f2ae70d6a2ddb97f4c2dfaa
Issue-ID: VID-925
Signed-off-by: krutbhat@att.com
Diffstat (limited to 'vid-webpack-master/src/app')
3 files changed, 45 insertions, 24 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; + } + } } diff --git a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts index 27593cabf..df05fe2a6 100644 --- a/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts +++ b/vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts @@ -59,11 +59,10 @@ export class AuditInfoModalComponent { private spacetoUnderscore: SpaceToUnderscorePipe, private store: NgRedux<AppState>) { this.auditInfoModalComponentService = this._auditInfoModalComponentService; - this.exportMSOStatusFeatureEnabled = _featureFlagsService.getFlagState(Features.FLAG_2011_EXPORT_MSO_STATUS); AuditInfoModalComponent.openModal.subscribe((jobData: ServiceInfoModel) => { this.isALaCarteFlagOn = this.store.getState().global.flags['FLAG_A_LA_CARTE_AUDIT_INFO']; this.showMoreAuditInfoLink = _featureFlagsService.getFlagState(Features.FLAG_MORE_AUDIT_INFO_LINK_ON_AUDIT_INFO); - + this.exportMSOStatusFeatureEnabled = _featureFlagsService.getFlagState(Features.FLAG_2011_EXPORT_MSO_STATUS); this.initializeProperties(); this.showVidStatus = true; if (jobData) { @@ -85,6 +84,7 @@ export class AuditInfoModalComponent { }); AuditInfoModalComponent.openInstanceAuditInfoModal.subscribe(({instanceId , type , model, instance}) => { + this.exportMSOStatusFeatureEnabled = _featureFlagsService.getFlagState(Features.FLAG_2011_EXPORT_MSO_STATUS); this.showVidStatus = false; this.showMoreAuditInfoLink = false; this.isDrawingBoard = true; @@ -95,11 +95,7 @@ export class AuditInfoModalComponent { this.typeFromDrawingBoard = type; this.callApi(instance, type); - - if(this.msoInfoData && Array.isArray(this.msoInfoData)) { - this.sortMsoInfo(); - } - + this.sortMsoInfo(); this.modelInfoItems = this.auditInfoModalComponentService.getModelInfo(model, instance, instanceId); _iframeService.addClassOpenModal(this.parentElementClassName); @@ -198,23 +194,14 @@ export class AuditInfoModalComponent { this.dataIsReady = true; } - - //Comparer Function - getSortOrder(timestamp) { - return (obj1, obj2) =>{ - - let firstObj = obj1[timestamp]; - let secondObj = obj2[timestamp]; - return ((secondObj < firstObj) ? -1 : ((secondObj > firstObj) ? 1 : 0)); - - } - } sortMsoInfo() { - this.msoInfoData.sort(this.getSortOrder("startTime")); - this.msoInfoData.forEach((element ) => { - element.instanceColumn = element.instanceName + " | " +"<br>" + element.instanceId; - }); + if(this.msoInfoData && Array.isArray(this.msoInfoData)) { + this.msoInfoData.sort((a, b) => new Date(b.startTime).getTime() - new Date(a.startTime).getTime()); + this.msoInfoData.forEach((element ) => { + element.instanceColumn = element.instanceName + " | " +"<br>" + element.instanceId; + }); + } } callApi(instance, type) { diff --git a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts index 206738095..0135ff89b 100644 --- a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts +++ b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts @@ -28,7 +28,8 @@ export enum Features { FLAG_2008_DISABLE_DRAG_FOR_BASE_MODULE ='FLAG_2008_DISABLE_DRAG_FOR_BASE_MODULE', FLAG_2008_CREATE_VFMODULE_INSTANTIATION_ORDER_NUMBER ='FLAG_2008_CREATE_VFMODULE_INSTANTIATION_ORDER_NUMBER', FLAG_2011_EXPORT_MSO_STATUS = 'FLAG_2011_EXPORT_MSO_STATUS', - FLAG_EXTENDED_MACRO_PNF_CONFIG = 'FLAG_EXTENDED_MACRO_PNF_CONFIG' + FLAG_EXTENDED_MACRO_PNF_CONFIG = 'FLAG_EXTENDED_MACRO_PNF_CONFIG', + FLAG_2012_UPGRADE_BASE_MODULE_FLAG = 'FLAG_2012_UPGRADE_BASE_MODULE_FLAG' } @Injectable() |