summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src
diff options
context:
space:
mode:
authorKruthi Bhat <krutbhat@att.com>2020-11-23 23:31:56 +0530
committerIkram Ikramullah <ikram@research.att.com>2020-11-25 22:40:59 +0000
commit3e558222d300ff70ff490914cc2245cf2a59e72a (patch)
treebd95cf9eebb9dc28ac64a4d31066f2e212265244 /vid-webpack-master/src
parente139ae6a162a7882d6d40203287a3e906a42564c (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')
-rw-r--r--vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts35
-rw-r--r--vid-webpack-master/src/app/shared/components/auditInfoModal/auditInfoModal.component.ts31
-rw-r--r--vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts3
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()