From 9dfd7e28c1eb348fcb4a2de8c6faae2a01b34942 Mon Sep 17 00:00:00 2001 From: Ofir Sonsino Date: Wed, 20 Sep 2017 13:20:42 +0300 Subject: Global Read only role, Support VID specific Roles Issue-ID: VID-46 , VID-47 Change-Id: Ib100d20ac40a65d39e27a6e2741b19a173a2b8ea Signed-off-by: Ofir Sonsino --- .../vid/scripts/constants/componentConstants.js | 18 +- .../app/vid/scripts/constants/fieldConstants.js | 615 ++++---- .../app/vid/scripts/constants/vidConfiguration.js | 5 +- .../scripts/controller/InstantiationController.js | 18 +- .../scripts/controller/ServiceModelController.js | 100 +- .../scripts/controller/aaiSubscriberController.js | 1561 +++++++++++--------- .../scripts/controller/creationDialogController.js | 14 +- .../scripts/controller/deletionDialogController.js | 4 + .../scripts/controller/previousVersionContoller.js | 40 + .../controller/previousVersionDialogController.js | 40 + .../scripts/controller/statusDialogController.js | 2 +- .../app/vid/scripts/controller/subscriberSearch.js | 2 +- .../scripts/directives/parameterBlockDirective.js | 654 ++++---- .../directives/parameterBlockDirective.js.orig | 507 +++++++ .../webapp/app/vid/scripts/services/aaiService.js | 674 +++++---- .../app/vid/scripts/services/componentService.js | 4 +- .../app/vid/scripts/services/creationService.js | 154 +- .../webapp/app/vid/scripts/services/dataService.js | 15 + .../app/vid/scripts/services/deletionService.js | 22 +- .../webapp/app/vid/scripts/services/vnfService.js | 39 +- .../app/vid/scripts/view-models/aaiGetSubs.htm | 133 +- .../scripts/view-models/aaiGetSubscriberList.htm | 6 +- .../vid/scripts/view-models/aaiServiceTypes.htm | 8 +- .../app/vid/scripts/view-models/aaiSubDetails.htm | 7 +- .../app/vid/scripts/view-models/aaiSubViewEdit.htm | 250 ++-- .../view-models/createInstanceServiceModels.htm | 20 +- .../app/vid/scripts/view-models/creationDialog.htm | 2 +- .../app/vid/scripts/view-models/instantiate.htm | 386 ++--- .../app/vid/scripts/view-models/msoCommit.htm | 2 +- .../vid/scripts/view-models/previousVersion.htm | 44 + .../scripts/view-models/previousVersionDialog.htm | 48 + .../app/vid/scripts/view-models/serviceModels.htm | 10 +- 32 files changed, 3277 insertions(+), 2127 deletions(-) create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionContoller.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionDialogController.js create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js.orig create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersion.htm create mode 100644 vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersionDialog.htm (limited to 'vid-app-common/src/main/webapp/app/vid/scripts') diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js b/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js index e7cbc486..f88ee9c3 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js @@ -50,7 +50,8 @@ appDS2.constant("COMPONENT", (function() { SDN_L3_BONDING : "SDN-L3-BONDING", SDN_ETHERNET_INTERNET : "SDN-ETHERNET-INTERNET", SERVICE : "service", - SERVICE_TYPE : "serviceType", + OLDVERSION : 'oldversion', + SERVICE_TYPE : "serviceType", SHOW_COMPONENT_DETAILS : "showComponentDetails", STATUS : "status", SUBSCRIBER_NAME : "subscriberName", @@ -65,9 +66,10 @@ appDS2.constant("COMPONENT", (function() { VNF_ROLE : "vnfRole", VNF_TYPE : "vnfType", VOLUME_GROUP : "volumeGroup", - - - // IDs + IS_PERMITTED: "is-permitted", + + + // IDs CIDR_MASK_1 : "255.255.255.000", //COMPONENT_LIST_NAMED_QUERY_ID : "ed0a0f5b-cf79-4784-88b2-911cd726cd3d", CUSTOMER_ID_1 : "icore9883749", @@ -96,7 +98,8 @@ appDS2.constant("COMPONENT", (function() { ASSIGN : "?r=", AAI_GET_SERVICE_INSTANCE_PATH : "aai_get_service_instance/", AAI_GET_SERVICES : "aai_get_services", - AAI_GET_SERVICES_BY_TYPE : "aai_get_models_by_service_type", + AAI_GET_AIC_ZONES :"aai_get_aic_zones", + AAI_GET_SERVICES_BY_TYPE : "aai_get_models_by_service_type", AAI_GET_TENANTS : "aai_get_tenants/", AAI_SUB_DETAILS_PATH : "aai_sub_details/", AAI_SUB_VIEWEDIT_PATH : "aai_sub_viewedit", @@ -128,8 +131,9 @@ appDS2.constant("COMPONENT", (function() { SUBDETAILS_SELECTEDSUBSCRIBER : "#subdetails?selectedSubscriber=", SUBSCRIBERNAME_SUB_PATH : "&subscriberName=", WELCOME_PATH : "welcome.htm", - - //Template Urls + IS_PERMITTED_SUB_PATH: "&isPermitted=", + + //Template Urls AAI_GET_SUBS_URL : "app/vid/scripts/view-models/aaiGetSubs.htm", AAI_GET_SUBSCRIBER_URL : "app/vid/scripts/view-models/aaiGetSubscriberList.htm", AAI_SERVICE_TYPES_URL : "app/vid/scripts/view-models/aaiServiceTypes.htm", diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/constants/fieldConstants.js b/vid-app-common/src/main/webapp/app/vid/scripts/constants/fieldConstants.js index 03ec788b..9d337fa1 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/constants/fieldConstants.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/constants/fieldConstants.js @@ -20,116 +20,122 @@ "use strict"; -appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) { +appDS2.factory("FIELD", ["PARAMETER", function (PARAMETER) { /* * ID values are typically used internally. */ var ID = { - AVAILABLE_VOLUME_GROUP : "availableVolumeGroup", - INSTANCE_NAME : "instanceName", - LCP_REGION : "lcpRegion", - LCP_REGION_TEXT : "lcpRegionText", - PRODUCT_FAMILY : "productFamily", - SERVICE_TYPE : "serviceType", - SUBSCRIBER_NAME : "subscriberName", - SUPPRESS_ROLLBACK : "suppressRollback", - TENANT : "tenant", - VNF_TARGETPROVSTATUS : "target", - - AAI_GET_FULL_SUBSCRIBERS : "aai_get_full_subscribers", - AAI_REFRESH_FULL_SUBSCRIBERS : "aai_refresh_full_subscribers", - AAI_GET_SERVICES : "aai_get_services", - AAI_GET_SUBSCRIBERS : "aai_get_subscribers", - AAI_GET_TENTANTS : "aai_get_tenants", - AAI_REFRESH_SUBSCRIBERS : "aai_refresh_subscribers", - AAI_SUB_DETAILS : "aai_sub_details", - AAI_SUB_VIEWEDIT : "aai_sub_viewedit", - ANGULAR_UI_TREE_COLLAPSEALL : "angular-ui-tree:collapse-all", - ANGULAR_UI_TREE_EXPANDALL : "angular-ui-tree:expand-all", - CATEGORY : "category", - COLOR_8F8 : "#8F8", - COLOR_F88 : "#F88", - COLOR_NONE : "none", - CUSTOMER : "customer", - CUSTOMIZATION_UUID : "customizationUuid", - DESCRIPTION : "description", - GENERIC_VNF : "generic-vnf", - GLOBAL_CUSTOMER_ID : "global-customer-id", - GLOBAL_CUST_ID : "globalCustomerId", - IN_MAINT : "in-maint", - INVENTORY_RESPONSE_ITEMS : "inventory-response-items", - INVENTORY_RESPONSE_ITEM : "inventory-response-item", - L3_NETWORK : "l3-network", - SUB_NET : "subnet", - SUBNET_NAME : "subnet-name", - SUBNET_ID : "subnet-id", - GATEWAY_ADDRESS : "gateway-address", - NETWORK_START_ADDRESS : "network-start-address", - CIDR_MASK : "cidr-mask", - MODEL_CUSTOMIZATION_ID : "model-customization-id", - MODEL_CUSTOMIZATION_NAME : "modelCustomizationName", - MODEL_INVARIANT_ID : "modelInvariantId", - MODEL_INVAR_ID : "model-invariant-id", - MODEL_NAME : "modelName", - MODEL_NAME_VERSION_ID : "modelNameVersionId", - MODEL_VERSION : "modelVersion", - MODEL_VERSION_ID : "model-version-id", - NETWORK_NAME : "network-name", - NETWORK_ID : "network-id", - NETWORK_TYPE : "network-type", - NETWORKS : "networks", - OPERATIONAL_STATUS : "operational-status", - ORCHESTRATION_STATUS : "orchestration-status", - PERCENT_PROGRESS : "precentProgress", - PERSONA_MODEL_ID : "persona-model-id", - PERSONA_MODEL_VERSION : "persona-model-version", - PERSONA_MODEL_CUSTOMIZATION_ID : "persona-model-customization-id", - PROV_STATUS : "prov-status", - REQUEST : "request", - REQUEST_ID : "requestId", - REQUEST_LIST : "requestList", - REQUEST_TYPE : "requestType", - REQUEST_REFERENCES : "requestReferences", - REQUEST_STATE : "requestState", - REQUEST_STATUS : "requestStatus", - RESOURCE_LINK : "resource-link", - RESULT_DATA : "result-data", - SERVICE_DESCRIPTION : "service-description", - SERVICE_ID : "service-id", - SERVICE_INSTANCE : "service-instance", - SERVICE_INSTANCES : "service-instances", - SERVICE_INSTANCE_ID : "service-instance-id", - SERVICE_INSTANCE_NAME : "service-instance-name", - SERVICE_SUBSCRIPTION : "service-subscription", - SERVICE_SUBSCRIPTIONS : "service-subscriptions", - SERVICETYPE : "service-type", - STATUS_MESSAGE : "statusMessage", - SUBNAME : "subscriber-name", - TIMESTAMP : "timestamp", - VF_MODULE : "vf-module", - VF_MODULES : "vfModules", - VF_MODULE_ID : "vf-module-id", - VF_MODULE_NAME : "vf-module-name", - VID : "VID", - VNF_ID : "vnf-id", - VNF_NAME : "vnf-name", - VNF_TYPE : "vnf-type", - VNFS : "vnfs", - AVAILABLEVOLUMEGROUPS : "availableVolumeGroups", - VOLUMEGROUPS : "volumeGroups", - VOLUME_GROUP : "volume-group", - VOLUME_GROUP_ID : "volume-group-id", - VOLUME_GROUP_NAME : "volume-group-name", - SDN_C_PRELOAD : "sdncPreload", - UPLOAD_SUPPLEMENTORY_DATA_FILE : "uploadSupplementoryDataFile", - SUPPLEMENTORY_DATA_FILE : "supplementoryDataFile" + AVAILABLE_VOLUME_GROUP: "availableVolumeGroup", + INSTANCE_NAME: "instanceName", + LCP_REGION: "lcpRegion", + LCP_REGION_TEXT: "lcpRegionText", + PRODUCT_FAMILY: "productFamily", + AIC_ZONES : "aic_zone", + SERVICE_TYPE: "serviceType", + SERVICE_ROLE: "serviceRole", + SUBSCRIBER_NAME: "subscriberName", + SUPPRESS_ROLLBACK: "suppressRollback", + TENANT: "tenant", + VNF_TARGETPROVSTATUS: "target", + + AAI_GET_FULL_SUBSCRIBERS: "aai_get_full_subscribers", + AAI_REFRESH_FULL_SUBSCRIBERS: "aai_refresh_full_subscribers", + AAI_GET_SERVICES: "aai_get_services", + AAI_GET_SUBSCRIBERS: "aai_get_subscribers", + AAI_GET_TENTANTS: "aai_get_tenants", + AAI_REFRESH_SUBSCRIBERS: "aai_refresh_subscribers", + AAI_SUB_DETAILS: "aai_sub_details", + AAI_SUB_VIEWEDIT: "aai_sub_viewedit", + ANGULAR_UI_TREE_COLLAPSEALL: "angular-ui-tree:collapse-all", + ANGULAR_UI_TREE_EXPANDALL: "angular-ui-tree:expand-all", + CATEGORY: "category", + COLOR_8F8: "#8F8", + COLOR_F88: "#F88", + COLOR_NONE: "none", + CUSTOMER: "customer", + CUSTOMIZATION_UUID: "customizationUuid", + DESCRIPTION: "description", + GENERIC_VNF: "generic-vnf", + GLOBAL_CUSTOMER_ID: "global-customer-id", + GLOBAL_CUST_ID: "globalCustomerId", + IN_MAINT: "in-maint", + INVENTORY_RESPONSE_ITEMS: "inventory-response-items", + INVENTORY_RESPONSE_ITEM: "inventory-response-item", + L3_NETWORK: "l3-network", + SUB_NET: "subnet", + SUBNET_NAME: "subnet-name", + SUBNET_ID: "subnet-id", + GATEWAY_ADDRESS: "gateway-address", + NETWORK_START_ADDRESS: "network-start-address", + CIDR_MASK: "cidr-mask", + MODEL_CUSTOMIZATION_ID: "model-customization-id", + MODEL_CUSTOMIZATION_NAME: "modelCustomizationName", + MODEL_INVARIANT_ID: "modelInvariantId", + MODEL_INVAR_ID: "model-invariant-id", + MODEL_NAME: "modelName", + MODEL_NAME_VERSION_ID: "modelNameVersionId", + MODEL_VERSION: "modelVersion", + MODEL_VERSION_ID: "model-version-id", + NETWORK_NAME: "network-name", + NETWORK_ID: "network-id", + NETWORK_TYPE: "network-type", + NETWORKS: "networks", + OPERATIONAL_STATUS: "operational-status", + ORCHESTRATION_STATUS: "orchestration-status", + PERCENT_PROGRESS: "precentProgress", + PERSONA_MODEL_ID: "persona-model-id", + PERSONA_MODEL_VERSION: "persona-model-version", + PERSONA_MODEL_CUSTOMIZATION_ID: "persona-model-customization-id", + PROV_STATUS: "prov-status", + REQUEST: "request", + REQUEST_ID: "requestId", + REQUEST_LIST: "requestList", + REQUEST_TYPE: "requestType", + REQUEST_REFERENCES: "requestReferences", + REQUEST_STATE: "requestState", + REQUEST_STATUS: "requestStatus", + RESOURCE_LINK: "resource-link", + RESULT_DATA: "result-data", + SERVICE_DESCRIPTION: "service-description", + SERVICE_ID: "service-id", + SERVICE_INSTANCE: "service-instance", + SERVICE_INSTANCES: "service-instances", + SERVICE_INSTANCE_ID: "service-instance-id", + SERVICE_INSTANCE_NAME: "service-instance-name", + SERVICE_SUBSCRIPTION: "service-subscription", + SERVICE_SUBSCRIPTIONS: "service-subscriptions", + SERVICETYPE: "service-type", + STATUS_MESSAGE: "statusMessage", + SUBNAME: "subscriber-name", + IS_PERMITTED: "is-permitted", + TIMESTAMP: "timestamp", + VF_MODULE: "vf-module", + VF_MODULES: "vfModules", + VF_MODULE_ID: "vf-module-id", + VF_MODULE_NAME: "vf-module-name", + VID: "VID", + VNF_ID: "vnf-id", + VNF_NAME: "vnf-name", + VNF_TYPE: "vnf-type", + VNFS: "vnfs", + AVAILABLEVOLUMEGROUPS: "availableVolumeGroups", + VOLUMEGROUPS: "volumeGroups", + VOLUME_GROUP: "volume-group", + VOLUME_GROUP_ID: "volume-group-id", + VOLUME_GROUP_NAME: "volume-group-name", + SDN_C_PRELOAD: "sdncPreload", + UPLOAD_SUPPLEMENTORY_DATA_FILE: "uploadSupplementoryDataFile", + SUPPLEMENTORY_DATA_FILE: "supplementoryDataFile", + ZONE_ID:"zone-id", + ZONE_NAME:"zone-name", + }; var KEY = { - LCP_REGION_TEXT : "AAIAIC25" + LCP_REGION_TEXT: "AAIAIC25" }; - + /* * NAME values are displayed on GUI pages. */ @@ -150,6 +156,7 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) { MODEL_VNF_CODE: "NF Naming Code", MODEL_CUSTOMIZATION_NAME: "Resource Name", PRODUCT_FAMILY : "Product Family", + AIC_ZONES: "AIC Zone", RESOURCE_DESCRIPTION : "Resource Description", RESOURCE_NAME : "Resource Name", SERVICE_CATEGORY : "Service Category", @@ -163,9 +170,10 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) { SERVICE_UUID : "Service UUID", SERVICE_VERSION : "Service Version", SUBSCRIBER_NAME : "Subscriber Name", + MOBILITY : "Mobility", SUPPRESS_ROLLBACK : "Suppress Rollback on Failure", SDN_C_PRELOAD : "SDN-C Pre-Load", - UPLOAD_SUPPLEMENTORY_DATA_FILE : "Upload Supplementory Data file", + UPLOAD_SUPPLEMENTORY_DATA_FILE : "Upload Supplementary Data file", SUPPLEMENTORY_DATA_FILE : "Supplementory Data file (JSON format)", TENANT : "Tenant", USER_SERVICE_INSTANCE_NAME : "User Service Instance Name", @@ -189,74 +197,75 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) { * PROMPT values are initial values displayed in select lists. */ var PROMPT = { - AVAILABLE_VOLUME_GROUP : "Select Volume Group", - DEFAULT_A : "A default", - DEFAULT_B : "B default", - LCP_REGION : "Select LCP Region", - NO_SERVICE_INSTANCE : "No Service Instance Found", - NO_SERVICE_SUB : "No Service Subscription Found", - PRODUCT_FAMILY : "Select Product Family", - REGION : "Please choose a region", - SERVICE_TYPE : "Select Service Type", - SUBSCRIBER_NAME : "Select Subscriber Name", - TARGETPROVSTATUS : "Select Target Prov Status", - TENANT : "Select Tenant Name", - TEXT_INPUT : "Enter data", - SELECT_SERVICE : "Select a service type", - SELECT_SUB : "Select a subscriber name", - FETCHING_SUBS : " Fetching subscriber list from A&AI", - REFRESH_SUB_LIST : "Refreshing subscriber list from A&AI...", - VAR_DESCRIPTION_A : "This variable is 'a'", - VAR_DESCRIPTION_B : "This variable is 'b'", - + AVAILABLE_VOLUME_GROUP: "Select Volume Group", + DEFAULT_A: "A default", + DEFAULT_B: "B default", + LCP_REGION: "Select LCP Region", + NO_SERVICE_INSTANCE: "No Service Instance Found", + NO_SERVICE_SUB: "No Service Subscription Found", + PRODUCT_FAMILY: "Select Product Family", + AIC_ZONES: "Select AIC Zone", + REGION: "Please choose a region", + SERVICE_TYPE: "Select Service Type", + SUBSCRIBER_NAME: "Select Subscriber Name", + TARGETPROVSTATUS: "Select Target Prov Status", + TENANT: "Select Tenant Name", + TEXT_INPUT: "Enter data", + SELECT_SERVICE: "Select a service type", + SELECT_SUB: "Select a subscriber name", + FETCHING_SUBS: " Fetching subscriber list from A&AI", + REFRESH_SUB_LIST: "Refreshing subscriber list from A&AI...", + VAR_DESCRIPTION_A: "This variable is 'a'", + VAR_DESCRIPTION_B: "This variable is 'b'", + }; - + var STATUS = { - // Status - ALL : "ALL", - COMPLETE : "Complete", - DONE : "Done", - ERROR : "Error", - FAILED : "Failed", - FAILED_SERVICE_MODELS_ASDC : "Failed to get service models from SDC.", - FETCHING_SERVICE_TYPES : "Fetching service types list from A&AI", - FETCHING_SERVICE_CATALOG : "Fetching service catalog from AAI. Please wait.", - FETCHING_SERVICE_CATALOG_ASDC : "Fetching service catalog from SDC. Please wait.", - FETCHING_SUB_DETAILS : "Fetching subscriber details from A&AI for ", - FETCHING_SERVICE_INST_DATA : "Fetching service instance data from A&AI for service-instance-id=", - FETCHING_SUBSCRIBER_LIST_AAI : "Fetching subscriber list from A&AI...", - IN_PROGRESS : "In Progress", - IS_SUCCESSFUL : " isSuccessful: ", - MSO_FAILURE : "msoFailure", - NONE : "None", - NOT_FOUND : "Not Found", - NO_SERVICE_SUBSCRIPTION_FOUND : "No Service Subscription Found", - SUBMITTING_REQUEST : "Submitting Request", - SUCCESS_VNF_PROV_STATUS : "Successfully set the VNF's Prov_Status to ", - UNLOCKED : "Unlocked", - + // Status + ALL: "ALL", + COMPLETE: "Complete", + DONE: "Done", + ERROR: "Error", + FAILED: "Failed", + FAILED_SERVICE_MODELS_ASDC: "Failed to get service models from SDC.", + FETCHING_SERVICE_TYPES: "Fetching service types list from A&AI", + FETCHING_SERVICE_CATALOG: "Fetching service catalog from AAI. Please wait.", + FETCHING_SERVICE_CATALOG_ASDC: "Fetching service catalog from SDC. Please wait.", + FETCHING_SUB_DETAILS: "Fetching subscriber details from A&AI for ", + FETCHING_SERVICE_INST_DATA: "Fetching service instance data from A&AI for service-instance-id=", + FETCHING_SUBSCRIBER_LIST_AAI: "Fetching subscriber list from A&AI...", + IN_PROGRESS: "In Progress", + IS_SUCCESSFUL: " isSuccessful: ", + MSO_FAILURE: "msoFailure", + NONE: "None", + NOT_FOUND: "Not Found", + NO_SERVICE_SUBSCRIPTION_FOUND: "No Service Subscription Found", + SUBMITTING_REQUEST: "Submitting Request", + SUCCESS_VNF_PROV_STATUS: "Successfully set the VNF's Prov_Status to ", + UNLOCKED: "Unlocked", + }; - + var STYLE = { - TABLE : "width: auto; margin: 0 auto; border-collapse: collapse; border: none;", - NAME : "width: 220px; text-align: left; vertical-align: middle; font-weight: bold; padding: 3px 5px; border: none;", - VALUE : "width: 400px; text-align: left; vertical-align: middle; padding: 3px 5px; border: none;", - CHECKBOX_VALUE : "width: 400px; text-align: center; vertical-align: middle; padding: 3px 5px; border: none;", - TEXT_INPUT : "height: 25px; padding: 2px 5px;", - CHECKBOX_INPUT : "height: 18px; width: 18px; padding: 2px 5px;", - SELECT : "height: 25px; padding: 2px; text-align: center;", - REQUIRED_LABEL : "width: 25px; padding: 5px 10px 10px 5px;", - - DISABLED : "disabled", - BTN_INACTIVE : "button--inactive", - BTN_PRIMARY : "button--primary", - BTN_TYPE : "btn-type", - MSO_CTRL_BTN : "div[ng-controller=msoCommitController] button", - PRIMARY : "primary", - PROGRESS_BAR_INFO : "progress-bar progress-bar-info", - PROGRESS_BAR_SUCCESS : "progress-bar progress-bar-success", + TABLE: "width: auto; margin: 0 auto; border-collapse: collapse; border: none;", + NAME: "width: 220px; text-align: left; vertical-align: middle; font-weight: bold; padding: 3px 5px; border: none;", + VALUE: "width: 400px; text-align: left; vertical-align: middle; padding: 3px 5px; border: none;", + CHECKBOX_VALUE: "width: 400px; text-align: center; vertical-align: middle; padding: 3px 5px; border: none;", + TEXT_INPUT: "height: 25px; padding: 2px 5px;", + CHECKBOX_INPUT: "height: 18px; width: 18px; padding: 2px 5px;", + SELECT: "height: 25px; padding: 2px; text-align: center;", + REQUIRED_LABEL: "width: 25px; padding: 5px 10px 10px 5px;", + + DISABLED: "disabled", + BTN_INACTIVE: "button--inactive", + BTN_PRIMARY: "button--primary", + BTN_TYPE: "btn-type", + MSO_CTRL_BTN: "div[ng-controller=msoCommitController] button", + PRIMARY: "primary", + PROGRESS_BAR_INFO: "progress-bar progress-bar-info", + PROGRESS_BAR_SUCCESS: "progress-bar progress-bar-success", } - + var ERROR = { AAI : "A&AI failure - see log below for details", AAI_ERROR : "A&AI Error", @@ -280,7 +289,8 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) { SERVICE_INST_DNE : "That service instance does not exist. Please try again.", SYSTEM_FAILURE : "System failure", INVALID_DATA_FORMAT : 'Invalid data format.Please check your file content whether it is not in json or not.', - + MISSING_FILE : 'Please Select JSON File.', + } /* @@ -289,143 +299,150 @@ appDS2.factory("FIELD", [ "PARAMETER", function(PARAMETER) { */ var PARAMETER = { - AVAILABLE_VOLUME_GROUP : { - name : NAME.AVAILABLE_VOLUME_GROUP, - id : ID.AVAILABLE_VOLUME_GROUP, - type : PARAMETER.SELECT, - prompt : PROMPT.AVAILABLE_VOLUME_GROUP, - isRequired : true - }, - INSTANCE_NAME : { - name : NAME.INSTANCE_NAME, - id : ID.INSTANCE_NAME, - isRequired : true - }, - LCP_REGION : { - name : NAME.LCP_REGION, - id : ID.LCP_REGION, - type : PARAMETER.SELECT, - prompt : PROMPT.LCP_REGION, - isRequired : true - }, - VNF_TARGET_PROVSTATUS : { - name : NAME.VNF_Target_Prov_Status, - id : ID.VNF_TARGETPROVSTATUS, - type : PARAMETER.SELECT, - prompt : PROMPT.TARGETPROVSTATUS, - isRequired : true - }, - LCP_REGION_TEXT_HIDDEN : { - id : ID.LCP_REGION_TEXT, - isVisible : false - }, - LCP_REGION_TEXT_VISIBLE : { - name : NAME.LCP_REGION_TEXT, - id : ID.LCP_REGION_TEXT, - isRequired : true, - isVisible : true - }, - PRODUCT_FAMILY : { - name : NAME.PRODUCT_FAMILY, - id : ID.PRODUCT_FAMILY, - type : PARAMETER.SELECT, - prompt : PROMPT.PRODUCT_FAMILY, - isRequired : true - }, - SERVICE_TYPE : { - name : NAME.SERVICE_TYPE, - id : ID.SERVICE_TYPE, - type : PARAMETER.SELECT, - prompt : PROMPT.SERVICE_TYPE, - isRequired : true - }, - SERVICE_TYPE_DISABLED : { - name : NAME.SERVICE_TYPE, - id : ID.SERVICE_TYPE, - type : PARAMETER.SELECT, - isEnabled : false, - isRequired : true - }, - SUPPRESS_ROLLBACK : { - name : NAME.SUPPRESS_ROLLBACK, - id : ID.SUPPRESS_ROLLBACK, - type : PARAMETER.BOOLEAN, - value : false - }, - SDN_C_PRELOAD_CHECKED : { - name : NAME.SDN_C_PRELOAD, - id : ID.SDN_C_PRELOAD, - type : PARAMETER.CHECKBOX, - value : true, - isVisible:true, - isRequired:false - }, - SDN_C_PRELOAD_UNCHECKED : { - name : NAME.SDN_C_PRELOAD, - id : ID.SDN_C_PRELOAD, - type : PARAMETER.CHECKBOX, - value : false, - isVisible:true, - isRequired:false - }, - UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED : { - name : NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, - id : ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, - type : PARAMETER.CHECKBOX, - value : true, - isVisible:true, - isRequired:false - }, - UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED : { - name : NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, - id : ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, - type : PARAMETER.CHECKBOX, - value : false, - isVisible:true, - isRequired:false - }, - SUPPLEMENTORY_DATA_FILE : { - name : NAME.SUPPLEMENTORY_DATA_FILE, - id : ID.SUPPLEMENTORY_DATA_FILE, - type : PARAMETER.FILE, - isRequired : false, - isVisible : true, - fileData:'' - }, + AVAILABLE_VOLUME_GROUP: { + name: NAME.AVAILABLE_VOLUME_GROUP, + id: ID.AVAILABLE_VOLUME_GROUP, + type: PARAMETER.SELECT, + prompt: PROMPT.AVAILABLE_VOLUME_GROUP, + isRequired: true + }, + INSTANCE_NAME: { + name: NAME.INSTANCE_NAME, + id: ID.INSTANCE_NAME, + isRequired: true + }, + LCP_REGION: { + name: NAME.LCP_REGION, + id: ID.LCP_REGION, + type: PARAMETER.SELECT, + prompt: PROMPT.LCP_REGION, + isRequired: true + }, + VNF_TARGET_PROVSTATUS: { + name: NAME.VNF_Target_Prov_Status, + id: ID.VNF_TARGETPROVSTATUS, + type: PARAMETER.SELECT, + prompt: PROMPT.TARGETPROVSTATUS, + isRequired: true + }, + LCP_REGION_TEXT_HIDDEN: { + id: ID.LCP_REGION_TEXT, + isVisible: false + }, + LCP_REGION_TEXT_VISIBLE: { + name: NAME.LCP_REGION_TEXT, + id: ID.LCP_REGION_TEXT, + isRequired: true, + isVisible: true + }, + PRODUCT_FAMILY: { + name: NAME.PRODUCT_FAMILY, + id: ID.PRODUCT_FAMILY, + type: PARAMETER.SELECT, + prompt: PROMPT.PRODUCT_FAMILY, + isRequired: true + }, + AIC_ZONES: { + name: NAME.AIC_ZONES, + id: ID.AIC_ZONES, + type: PARAMETER.SELECT, + prompt: PROMPT.AIC_ZONES, + isRequired: false + }, + SERVICE_TYPE: { + name: NAME.SERVICE_TYPE, + id: ID.SERVICE_TYPE, + type: PARAMETER.SELECT, + prompt: PROMPT.SERVICE_TYPE, + isRequired: true + }, + SERVICE_TYPE_DISABLED: { + name: NAME.SERVICE_TYPE, + id: ID.SERVICE_TYPE, + type: PARAMETER.SELECT, + isEnabled: false, + isRequired: true + }, + SUPPRESS_ROLLBACK: { + name: NAME.SUPPRESS_ROLLBACK, + id: ID.SUPPRESS_ROLLBACK, + type: PARAMETER.BOOLEAN, + value: false + }, + SDN_C_PRELOAD_CHECKED: { + name: NAME.SDN_C_PRELOAD, + id: ID.SDN_C_PRELOAD, + type: PARAMETER.CHECKBOX, + value: true, + isVisible: true, + isRequired: false + }, + SDN_C_PRELOAD_UNCHECKED: { + name: NAME.SDN_C_PRELOAD, + id: ID.SDN_C_PRELOAD, + type: PARAMETER.CHECKBOX, + value: false, + isVisible: true, + isRequired: false + }, + UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED: { + name: NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, + id: ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, + type: PARAMETER.CHECKBOX, + value: true, + isVisible: true, + isRequired: false + }, + UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED: { + name: NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, + id: ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, + type: PARAMETER.CHECKBOX, + value: false, + isVisible: true, + isRequired: false + }, + SUPPLEMENTORY_DATA_FILE: { + name: NAME.SUPPLEMENTORY_DATA_FILE, + id: ID.SUPPLEMENTORY_DATA_FILE, + type: PARAMETER.FILE, + isRequired: false, + isVisible: true, + fileData: '' + }, - SUBSCRIBER_NAME : { - name : NAME.SUBSCRIBER_NAME, - id : ID.SUBSCRIBER_NAME, - type : PARAMETER.SELECT, - prompt : PROMPT.SUBSCRIBER_NAME, + SUBSCRIBER_NAME: { + name: NAME.SUBSCRIBER_NAME, + id: ID.SUBSCRIBER_NAME, + type: PARAMETER.SELECT, + prompt: PROMPT.SUBSCRIBER_NAME, isRequired : true, isSingleOptionAutoSelected : false - }, - TENANT_DISABLED : { - name : NAME.TENANT, - id : ID.TENANT, - type : PARAMETER.SELECT, - isEnabled : false, - isRequired : true - }, - TENANT_ENABLED : { - name : NAME.TENANT, - id : ID.TENANT, - type : PARAMETER.SELECT, - isEnabled : true, - prompt : PROMPT.TENANT, - isRequired : true - } + }, + TENANT_DISABLED: { + name: NAME.TENANT, + id: ID.TENANT, + type: PARAMETER.SELECT, + isEnabled: false, + isRequired: true + }, + TENANT_ENABLED: { + name: NAME.TENANT, + id: ID.TENANT, + type: PARAMETER.SELECT, + isEnabled: true, + prompt: PROMPT.TENANT, + isRequired: true + } }; return { - ID : ID, - KEY : KEY, - NAME : NAME, - PARAMETER : PARAMETER, - PROMPT : PROMPT, - STATUS : STATUS, - STYLE : STYLE, - ERROR : ERROR, + ID: ID, + KEY: KEY, + NAME: NAME, + PARAMETER: PARAMETER, + PROMPT: PROMPT, + STATUS: STATUS, + STYLE: STYLE, + ERROR: ERROR, } -} ]); +}]); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/constants/vidConfiguration.js b/vid-app-common/src/main/webapp/app/vid/scripts/constants/vidConfiguration.js index f5606616..4341a4ca 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/constants/vidConfiguration.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/constants/vidConfiguration.js @@ -91,7 +91,10 @@ appDS2.constant("VIDCONFIGURATION", (function() { * */ var COMPONENT_LIST_NAMED_QUERY_ID = "0367193e-c785-4d5f-9cb8-7bc89dc9ddb7"; - var MACRO_SERVICES = []; + var MACRO_SERVICES = ["93150ffa-00c6-4ea0-85f2-3536ca46ebd2", + "2b54297f-72e7-4a94-b451-72df88d0be0b", + "d27e42cf-087e-4d31-88ac-6c4b7585f800", + "ec0c4bab-c272-4dab-b087-875031bb0c9f","0311f998-9268-4fd6-bbba-afff15087b72"]; return { ASDC_MODEL_STATUS : ASDC_MODEL_STATUS, MSO_MAX_POLLS : MSO_MAX_POLLS, diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js index dcbf3e6e..b0fcb11e 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/InstantiationController.js @@ -33,8 +33,9 @@ $scope.defaultBaseUrl = ""; $scope.responseTimeoutMsec = 60000; $scope.properties = UtilityService.getProperties(); - $scope.init = function() { + $scope.isPermitted = $location.search().isPermitted; + $scope.init = function() { /* * These 2 statements should be included in non-test code. */ @@ -46,7 +47,7 @@ var polls = PropertyService.retrieveMsoMaxPolls(); PropertyService.setMsoMaxPolls(polls); - PropertyService.setServerResponseTimeoutMsec(10000); + PropertyService.setServerResponseTimeoutMsec(30000); /* * Common parameters that shows an example of how the view edit screen @@ -224,11 +225,17 @@ console.log("Removing Service " + $scope.service.instance.name); - DataService.setALaCarte (true); + if ( $scope.isMacro() ) { + DataService.setALaCarte (false); + } + else { + DataService.setALaCarte (true); + } + DataService.setMacro($scope.isMacro()); DataService.setInventoryItem(serviceInstance); DataService.setModelInfo(COMPONENT.SERVICE, { - "modelInvariantId": serviceInstance[FIELD.ID.MODEL_INVAR_ID], + "modelInvariantId": $scope.service.model.service.invariantUuid, "modelVersion": $scope.service.model.service.version, "modelNameVersionId": $scope.service.model.service.uuid, "modelName": $scope.service.model.service.name, @@ -345,6 +352,9 @@ $scope.deleteVnf = function(serviceObject, vnf) { + + debugger; + console.log("Removing VNF " + vnf.name); var serviceInstance = serviceObject.object; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js index dd2cf73f..731c2f2e 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js @@ -39,8 +39,9 @@ $http.get(pathQuery) .then(function successCallback(response) { $scope.services = []; - if (angular.isArray(response.data)) { - $scope.services = response.data; + if (angular.isArray(response.data.services)) { + wholeData = response.data.services; + $scope.services = $scope.filterDataWithHigerVersion(wholeData); $scope.viewPerPage=10; $scope.totalPage=$scope.services.length/$scope.viewPerPage; $scope.sortBy=COMPONENT.NAME; @@ -56,11 +57,72 @@ $scope.error = true; $scope.isSpinnerVisible = false; } + $scope.deployButtonType = response.data.readOnly ? 'disabled' : 'primary'; }, function errorCallback(response) { console.log("Error: " + response); }); } - + $scope.isFiltered=function(arr,obj){ + var filtered = false; + if(arr.length>0){ + for(var i=0;i=parseFloat(serviceData[i].version.trim()))){ + var data = $scope.isThisHigher(fiterDataServices,serviceData[j]); + if(data.isHigher){ + fiterDataServices[data.index] = serviceData[j]; + } + } + } + } + } + return fiterDataServices; + } + + $scope.isThisHigher = function(arr,obj){ + var returnObj = { + isHigher:false, + index:0 + }; + if(arr.length>0){ + var isNotMatched = true; + for(var i=0;i0){ + for(var i=0;i=parseFloat(serviceData[i]['extra-properties']['extra-property'][6]['property-value']))){ + var data = $scope.isThisHigher(fiterDataServices,serviceData[j]); + if(data.isHigher){ + fiterDataServices[data.index] = serviceData[j]; } - $scope.service.instance[FIELD.ID.NETWORKS].push(l3Network); } - - if (subInventoryResponseItem[FIELD.ID.GENERIC_VNF] != null) { - var genericVnfObject = subInventoryResponseItem[FIELD.ID.GENERIC_VNF]; - - var genericVnf = { - "name": genericVnfObject[FIELD.ID.VNF_NAME], - "id": $scope.counter++, - "itemType": COMPONENT.VNF, - "nodeType": genericVnfObject[FIELD.ID.VNF_TYPE], - "nodeId": genericVnfObject[FIELD.ID.VNF_ID], - "nodeStatus": genericVnfObject[FIELD.ID.ORCHESTRATION_STATUS], - "object": genericVnfObject, - "vfModules": [], - "volumeGroups": [], - "availableVolumeGroups": [] - }; - $scope.service.instance[FIELD.ID.VNFS].push(genericVnf); - - // look for volume-groups - if (subInventoryResponseItem[FIELD.ID.INVENTORY_RESPONSE_ITEMS] != null) { - angular.forEach(subInventoryResponseItem[FIELD.ID.INVENTORY_RESPONSE_ITEMS][FIELD.ID.INVENTORY_RESPONSE_ITEM], function(vfmodules, key) { - - if (vfmodules[FIELD.ID.VOLUME_GROUP] != null) { - var volumeGroupObject = vfmodules[FIELD.ID.VOLUME_GROUP]; - var volumeGroup = { "id": $scope.counter++, - "name": volumeGroupObject[FIELD.ID.VOLUME_GROUP_NAME], - "itemType": FIELD.ID.VOLUME_GROUP, - "nodeId": volumeGroupObject[FIELD.ID.VOLUME_GROUP_ID], - "nodeType": volumeGroupObject[FIELD.ID.VNF_TYPE], - "nodeStatus": volumeGroupObject[FIELD.ID.ORCHESTRATION_STATUS], - "object": volumeGroupObject, - "nodes": [] - }; - genericVnf[FIELD.ID.VOLUMEGROUPS].push(volumeGroup); - genericVnf[FIELD.ID.AVAILABLEVOLUMEGROUPS].push(volumeGroup); - } - }); - } - // now we've loaded up the availableVolumeGroups, we can use it - if (subInventoryResponseItem[FIELD.ID.INVENTORY_RESPONSE_ITEMS] != null) { - angular.forEach(subInventoryResponseItem[FIELD.ID.INVENTORY_RESPONSE_ITEMS][FIELD.ID.INVENTORY_RESPONSE_ITEM], function(vfmodules, key) { - - if (vfmodules[FIELD.ID.VF_MODULE] != null) { - var vfModuleObject = vfmodules[FIELD.ID.VF_MODULE]; - var vfModule = { "id": $scope.counter++, - "name": vfModuleObject[FIELD.ID.VF_MODULE_NAME], - "itemType": FIELD.ID.VF_MODULE, - "nodeType": FIELD.ID.VF_MODULE, - "nodeStatus": vfModuleObject[FIELD.ID.ORCHESTRATION_STATUS], - "volumeGroups": [], - "object": vfModuleObject, - "networks": [] - }; - genericVnf[FIELD.ID.VF_MODULES].push(vfModule); - if (vfmodules[FIELD.ID.INVENTORY_RESPONSE_ITEMS] != null) { - angular.forEach(vfmodules[FIELD.ID.INVENTORY_RESPONSE_ITEMS][FIELD.ID.INVENTORY_RESPONSE_ITEM], function(networks, key) { - if (networks[FIELD.ID.L3_NETWORK] != null) { - var l3NetworkObject = networks[FIELD.ID.L3_NETWORK]; - var l3Network = { "id": $scope.counter++, - "name": l3NetworkObject[FIELD.ID.NETWORK_NAME], - "itemType": FIELD.ID.L3_NETWORK, - "nodeId": l3NetworkObject[FIELD.ID.NETWORK_ID], - "nodeType": l3NetworkObject[FIELD.ID.NETWORK_TYPE], - "nodeStatus": l3NetworkObject[FIELD.ID.ORCHESTRATION_STATUS], - "object": l3NetworkObject, - "nodes": [] - }; - vfModule[FIELD.ID.NETWORKS].push(l3Network); - } - if (networks[FIELD.ID.VOLUME_GROUP] != null) { - var volumeGroupObject = networks[FIELD.ID.VOLUME_GROUP]; - - var volumeGroup = { "id": $scope.counter++, - "name": volumeGroupObject[FIELD.ID.VOLUME_GROUP_NAME], - "itemType": FIELD.ID.VOLUME_GROUP, - "nodeId": volumeGroupObject[FIELD.ID.VOLUME_GROUP_ID], - "nodeType": volumeGroupObject[FIELD.ID.VNF_TYPE], - "nodeStatus": volumeGroupObject[FIELD.ID.ORCHESTRATION_STATUS], - "object": volumeGroupObject, - "nodes": [] - }; - var tmpVolGroup = []; - - angular.forEach(genericVnf[FIELD.ID.AVAILABLEVOLUMEGROUPS], function(avgroup, key) { - if (avgroup.name != volumeGroup.name) { - tmpVolGroup.push(avgroup); - } - }); - - genericVnf[FIELD.ID.AVAILABLEVOLUMEGROUPS] = tmpVolGroup; - - vfModule[FIELD.ID.VOLUMEGROUPS].push(volumeGroup); - } - - }); - } - } - }); - } - } - }); + } } - }); - }); - } - - $scope.handleInitialResponse = function(response) { - try { - $scope.enableCloseButton(true); - $scope.updateLog(response); - if (response.data.status < 200 || response.data.status > 202) { - $scope.showError(FIELD.ERROR.MSO); - $scope.status = FIELD.ERROR.AAI_FETCHING_CUST_DATA + response.data.status; - - return; } - - $scope.setProgress(100); // done - $scope.status = FIELD.STATUS.DONE; - $scope.isSpinnerVisible = false; - - $scope.customer = response.data.customer; // get data from json - - $scope.customerList = []; - - angular.forEach($scope.customer, function(subVal, subKey) { - var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME] }; - $scope.customerList.push(cust); - }); - - } catch (error) { - $scope.showContentError(error); + return fiterDataServices; } - } - - $scope.autoGetSubs = function() { - /* - * Optionally comment in / out one of these method calls (or add a similar - * entry) to auto-invoke an entry when the test screen is redrawn. - */ - $scope.getSubs(); - - } - $scope.updateLog = function(response) { -// $scope.log = UtilityService.getCurrentTime() + " HTTP Status: " + -// UtilityService.getHttpStatusText(response.data.status) + "\n" + -// angular.toJson(response.data.entity, true) + "\n\n" + $scope.log; -// UtilityService.checkUndefined("entity", response.data.entity); -// UtilityService.checkUndefined("status", response.data.status); - } - - $scope.handleServerError = function(response, status) { - $scope.enableCloseButton(true); - var message = UtilityService.getHttpErrorMessage(response); - if (message != ""){ - message = " (" + message + ")"; - } - $scope.showError(FIELD.ERROR.SYSTEM_ERROR + message); - } - - $scope.showContentError = function(message) { - // $log.debug(message); - console.log(message); - if (UtilityService.hasContents(message)) { - $scope.showError("System failure (" + message + ")"); - } else { - $scope.showError(FIELD.ERROR.SYSTEM_ERROR); - } - } - - $scope.showError = function(message) { - $scope.isSpinnerVisible = false; - $scope.isProgressVisible = false; - $scope.error = message; - $scope.status = FIELD.STATUS.ERROR; - } - - $scope.close = function() { - if ($scope.timer != undefined) { - $timeout.cancel($scope.timer); + $scope.isThisHigher = function(arr,obj){ + var returnObj = { + isHigher:false, + index:0 + }; + if(arr.length>0){ + var isNotMatched = true; + for(var i=0;i 202) { + $scope.showError(FIELD.ERROR.MSO); + $scope.status = FIELD.ERROR.AAI_FETCHING_CUST_DATA + response.data.status; - if (isEnabled) { - $(selector).addClass(FIELD.STYLE.BTN_PRIMARY).removeClass(FIELD.STYLE.BTN_INACTIVE).attr(FIELD.STYLE.BTN_TYPE, FIELD.STYLE.PRIMARY); - } else { - $(selector).removeClass(FIELD.STYLE.BTN_PRIMARY).addClass(FIELD.STYLE.BTN_INACTIVE).attr(FIELD.STYLE.BTN_TYPE, FIELD.STYLE.DISABLED); - } - } + return; + } - $scope.resetProgress = function() { - $scope.percentProgress = 0; - $scope.progressClass = FIELD.STYLE.PROGRESS_BAR_INFO; - } + $scope.setProgress(100); // done + $scope.status = FIELD.STATUS.DONE; + $scope.isSpinnerVisible = false; - $scope.setProgress = function(percentProgress) { - percentProgress = parseInt(percentProgress); - if (percentProgress >= 100) { - $scope.progressClass = FIELD.STYLE.PROGRESS_BAR_SUCCESS; - } + $scope.customer = response.data.customer; // get data from json - if (percentProgress < $scope.percentProgress) { - return; - } + $scope.customerList = []; - $scope.percentProgress = percentProgress; - $scope.progressWidth = {width: percentProgress + "%"}; - if (percentProgress >= 5) { - $scope.progressText = percentProgress + " %"; - } else { - // Hidden since color combination is barely visible when progress portion is narrow. - $scope.progressText = ""; - } - } + angular.forEach($scope.customer, function (subVal, subKey) { + var cust = { + "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], + "subscriberName": subVal[FIELD.ID.SUBNAME], + "isPermitted": subVal[FIELD.ID.IS_PERMITTED] + }; - $scope.reloadRoute = function() { - $route.reload(); - } + $scope.customerList.push(cust); + }); - $scope.prevPage = function() { - $scope.currentPage--; - } + } catch (error) { + $scope.showContentError(error); + } + } - $scope.nextPage = function() { - $scope.currentPage++; - } - $scope.serviceInstanceses = [{"sinstance":FIELD.NAME.SERVICE_INSTANCE_Id},{"sinstance":FIELD.NAME.SERVICE_INSTANCE_NAME}] - $scope.getSubscriberDet = function(selectedCustomer,selectedserviceinstancetype,selectedServiceInstance){ - - var sintype =selectedserviceinstancetype; - if (selectedServiceInstance != "" && selectedServiceInstance != undefined) { - selectedServiceInstance.trim(); - - // check with A&AI - $http.get(COMPONENT.AAI_GET_SERVICE_INSTANCE_PATH + selectedServiceInstance+"/"+sintype + "?r=" + Math.random(), { - - },{ - timeout: $scope.responseTimeoutMsec - }).then(function(response) { - var notFound = true; - if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) { - var item = []; - var urlParts = []; - item = response.data[FIELD.ID.RESULT_DATA][0]; - var url = item[FIELD.ID.RESOURCE_LINK]; - var globalCustomerId = ""; - var serviceSubscription = ""; - // split it and find the customer Id and service-subscription - urlParts = url.split("/"); - if (urlParts[7] === FIELD.ID.CUSTOMER) { - globalCustomerId = urlParts[8]; - } - if (urlParts[10] === FIELD.ID.SERVICE_SUBSCRIPTION) { - serviceSubscription = urlParts[11]; - } + $scope.autoGetSubs = function () { + /* + * Optionally comment in / out one of these method calls (or add a similar + * entry) to auto-invoke an entry when the test screen is redrawn. + */ + $scope.getSubs(); - if (globalCustomerId !== "") { - notFound = false; - window.location.href = COMPONENT.SELECTED_SERVICE_SUB_PATH + serviceSubscription + COMPONENT.SELECTEDSUBSCRIBER_SUB_PATH + globalCustomerId + COMPONENT.SELECTEDSERVICEINSTANCE_SUB_PATH + selectedServiceInstance; - } - } - if (notFound) { - alert(FIELD.ERROR.SERVICE_INST_DNE); - } - }); // add a failure callback... - } else if (selectedCustomer != null) { - window.location.href = COMPONENT.SELECTED_SUB_PATH + selectedCustomer; - } else { - alert(FIELD.ERROR.SELECT); - } - }; - }]).directive('restrictInput', function(){ - - return { - - restrict: 'A', - require: 'ngModel', - link: function($scope, element, attr, ctrl){ - ctrl.$parsers.unshift(function(viewValue){ - - var types = $scope.$eval(attr.restrictInput); - if(!types.regex && types.type){ - - switch(types.type){ - case 'Service Instance Name' : types.regex = '^[a-zA-Z0-9-_]*$'; break; - default: types.regex= ''; - } - } - var reg = new RegExp(types.regex); - if(reg.test(viewValue)){ - return viewValue; - } else { - var overrideValue = (reg.test(viewValue) ? viewValue : ''); - element.val(overrideValue); - return overrideValue; - } - }); - } - }; + } + $scope.updateLog = function (response) { +// $scope.log = UtilityService.getCurrentTime() + " HTTP Status: " + +// UtilityService.getHttpStatusText(response.data.status) + "\n" + +// angular.toJson(response.data.entity, true) + "\n\n" + $scope.log; +// UtilityService.checkUndefined("entity", response.data.entity); +// UtilityService.checkUndefined("status", response.data.status); + } + + $scope.handleServerError = function (response, status) { + $scope.enableCloseButton(true); + var message = UtilityService.getHttpErrorMessage(response); + if (message != "") { + message = " (" + message + ")"; + } + $scope.showError(FIELD.ERROR.SYSTEM_ERROR + message); + } + + $scope.showContentError = function (message) { + // $log.debug(message); + console.log(message); + if (UtilityService.hasContents(message)) { + $scope.showError("System failure (" + message + ")"); + } else { + $scope.showError(FIELD.ERROR.SYSTEM_ERROR); + } + } + + $scope.showError = function (message) { + $scope.isSpinnerVisible = false; + $scope.isProgressVisible = false; + $scope.error = message; + $scope.status = FIELD.STATUS.ERROR; + } + + $scope.close = function () { + if ($scope.timer != undefined) { + $timeout.cancel($scope.timer); + } + $scope.isPopupVisible = false; + } + + + /* + * Consider converting the progress bar mechanism, the disabled button handling + * and the following methods to generic Angular directive(s) and/or approach. + */ + + $scope.enableCloseButton = function (isEnabled) { + var selector = FIELD.STYLE.MSO_CTRL_BTN; + + $scope.isCloseEnabled = isEnabled; + + if (isEnabled) { + $(selector).addClass(FIELD.STYLE.BTN_PRIMARY).removeClass(FIELD.STYLE.BTN_INACTIVE).attr(FIELD.STYLE.BTN_TYPE, FIELD.STYLE.PRIMARY); + } else { + $(selector).removeClass(FIELD.STYLE.BTN_PRIMARY).addClass(FIELD.STYLE.BTN_INACTIVE).attr(FIELD.STYLE.BTN_TYPE, FIELD.STYLE.DISABLED); + } + } + + $scope.resetProgress = function () { + $scope.percentProgress = 0; + $scope.progressClass = FIELD.STYLE.PROGRESS_BAR_INFO; + } + + $scope.setProgress = function (percentProgress) { + percentProgress = parseInt(percentProgress); + if (percentProgress >= 100) { + $scope.progressClass = FIELD.STYLE.PROGRESS_BAR_SUCCESS; + } + + if (percentProgress < $scope.percentProgress) { + return; + } + + $scope.percentProgress = percentProgress; + $scope.progressWidth = {width: percentProgress + "%"}; + if (percentProgress >= 5) { + $scope.progressText = percentProgress + " %"; + } else { + // Hidden since color combination is barely visible when progress portion is narrow. + $scope.progressText = ""; + } + } + + $scope.reloadRoute = function () { + $route.reload(); + } + + $scope.prevPage = function () { + $scope.currentPage--; + } + + $scope.nextPage = function () { + $scope.currentPage++; + } + $scope.serviceInstanceses = [{"sinstance": FIELD.NAME.SERVICE_INSTANCE_Id}, {"sinstance": FIELD.NAME.SERVICE_INSTANCE_NAME}] + $scope.getSubscriberDet = function (selectedCustomer, selectedserviceinstancetype, selectedServiceInstance) { + + var sintype = selectedserviceinstancetype; + if (selectedServiceInstance != "" && selectedServiceInstance != undefined) { + selectedServiceInstance.trim(); + + // check with A&AI + $http.get(COMPONENT.AAI_GET_SERVICE_INSTANCE_PATH + selectedServiceInstance + "/" + sintype + "?r=" + Math.random(), {}, { + timeout: $scope.responseTimeoutMsec + }).then(function (response) { + var notFound = true; + if (angular.isArray(response.data[FIELD.ID.RESULT_DATA])) { + var item = []; + var urlParts = []; + item = response.data[FIELD.ID.RESULT_DATA][0]; + var url = item[FIELD.ID.RESOURCE_LINK]; + var globalCustomerId = ""; + var serviceSubscription = ""; + // split it and find the customer Id and service-subscription + urlParts = url.split("/"); + if (urlParts[7] === FIELD.ID.CUSTOMER) { + globalCustomerId = urlParts[8]; + } + if (urlParts[10] === FIELD.ID.SERVICE_SUBSCRIPTION) { + serviceSubscription = urlParts[11]; + } + + if (globalCustomerId !== "") { + notFound = false; + window.location.href = COMPONENT.SELECTED_SERVICE_SUB_PATH + serviceSubscription + COMPONENT.SELECTEDSUBSCRIBER_SUB_PATH + globalCustomerId + COMPONENT.SELECTEDSERVICEINSTANCE_SUB_PATH + selectedServiceInstance; + } + } + if (notFound) { + alert(FIELD.ERROR.SERVICE_INST_DNE); + } + }); // add a failure callback... + } else if (selectedCustomer != null) { + window.location.href = COMPONENT.SELECTED_SUB_PATH + selectedCustomer; + } else { + alert(FIELD.ERROR.SELECT); + } + }; + }]).directive('restrictInput', function () { + + return { + + restrict: 'A', + require: 'ngModel', + link: function ($scope, element, attr, ctrl) { + ctrl.$parsers.unshift(function (viewValue) { + + var types = $scope.$eval(attr.restrictInput); + if (!types.regex && types.type) { + + switch (types.type) { + case 'Service Instance Name' : + types.regex = '^[a-zA-Z0-9-_]*$'; + break; + default: + types.regex = ''; + } + } + var reg = new RegExp(types.regex); + if (reg.test(viewValue)) { + return viewValue; + } else { + var overrideValue = (reg.test(viewValue) ? viewValue : ''); + element.val(overrideValue); + return overrideValue; + } }); + } + }; + +}); appDS2.controller('TreeCtrl', ['$scope', function ($scope) { - $scope.remove = function (scope) { - scope.remove(); - }; - - $scope.toggle = function (scope) { - scope.toggle(); - }; - - $scope.moveLastToTheBeginning = function () { - var a = $scope.data.pop(); - $scope.data.splice(0, 0, a); - }; - - $scope.newSubItem = function (scope) { - var nodeData = scope.$modelValue; - nodeData.nodes.push({ - id: nodeData.id * 10 + nodeData.nodes.length, - title: nodeData.title + '.' + (nodeData.nodes.length + 1), - nodes: [] - }); - }; - - $scope.collapseAll = function () { - $scope.$broadcast(FIELD.ID.ANGULAR_UI_TREE_COLLAPSEALL); - }; - - $scope.expandAll = function () { - $scope.$broadcast(FIELD.ID.ANGULAR_UI_TREE_EXPANDALL); - }; + $scope.remove = function (scope) { + scope.remove(); + }; + + $scope.toggle = function (scope) { + scope.toggle(); + }; + + $scope.moveLastToTheBeginning = function () { + var a = $scope.data.pop(); + $scope.data.splice(0, 0, a); + }; + + $scope.newSubItem = function (scope) { + var nodeData = scope.$modelValue; + nodeData.nodes.push({ + id: nodeData.id * 10 + nodeData.nodes.length, + title: nodeData.title + '.' + (nodeData.nodes.length + 1), + nodes: [] + }); + }; + + $scope.collapseAll = function () { + $scope.$broadcast(FIELD.ID.ANGULAR_UI_TREE_COLLAPSEALL); + }; + + $scope.expandAll = function () { + $scope.$broadcast(FIELD.ID.ANGULAR_UI_TREE_EXPANDALL); + }; }]); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js index b400cc6e..3d8cba5c 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js @@ -111,16 +111,21 @@ var creationDialogController = function( COMPONENT, FIELD, PARAMETER, $scope, $h var isUploadAvailable = false; var uploadIndex =0; var paramList = $scope.userProvidedControl.getList(); - + var isAnyError = false; for (var i = 0; i < paramList.length; i++) { if (paramList[i].id === FIELD.ID.SUPPLEMENTORY_DATA_FILE) { isUploadAvailable = true; uploadIndex=i; - break; + } + if (paramList[i].id === FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE && paramList[i].value && document.getElementById(FIELD.ID.SUPPLEMENTORY_DATA_FILE).value=='' ) { + isAnyError = true; } } - if(isUploadAvailable){ + if(isUploadAvailable && isAnyError ){ + showError(FIELD.ERROR.MISSING_DATA, FIELD.ERROR.MISSING_FILE); + return; + }else if(isUploadAvailable && document.getElementById(FIELD.ID.SUPPLEMENTORY_DATA_FILE).value!='' ){ var errorMsg = ""; var fileInput = document.getElementById(FIELD.ID.SUPPLEMENTORY_DATA_FILE); var file = fileInput.files[0]; @@ -128,8 +133,7 @@ var creationDialogController = function( COMPONENT, FIELD, PARAMETER, $scope, $h reader.onload = function(e) { try{ paramList[uploadIndex].value = JSON.parse(reader.result); - FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value'] = JSON.stringify(paramList[uploadIndex].value); - $scope.userProvidedControl.updateList([ FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE ]); + FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value'] = paramList[uploadIndex].value; var instanceName = ""; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/deletionDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/deletionDialogController.js index 137673d4..499a1ec0 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/deletionDialogController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/deletionDialogController.js @@ -80,6 +80,10 @@ var deletionDialogController = function( COMPONENT, FIELD, $scope, $http, $timeo var requestDetails = DeletionService.getMsoRequestDetails($scope.userProvidedControl.getList()); + + if(DeletionService.isMacro === true){ + requestDetails.requestParameters.aLaCarte = false; + } $scope.isDialogVisible = false; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionContoller.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionContoller.js new file mode 100644 index 00000000..eb0dac64 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionContoller.js @@ -0,0 +1,40 @@ +"use strict"; + +var previousVersionContoller = function( COMPONENT, FIELD, $scope, $http, $timeout, $log, + CreationService, UtilityService, DataService,VIDCONFIGURATION) { + $scope.isTableDialogVisible = false; + $scope.summaryControl = {}; + $scope.userProvidedControl = {}; + + var callbackFunction = undefined; + var componentId = undefined; + + $scope.$on("createTableComponent", function(event, request) { + + $scope.isTableSpinnerVisible = true; + $scope.isTableErrorVisible = false; + $scope.isTableDialogVisible = true; + $scope.popup.isTablePopUpVisible = true; + componentId = request.componentId; + CreationService.initializeComponent(request.componentId); + callbackFunction = request.callbackFunction; + CreationService.setHttpErrorHandler(function(response) { + showError("System failure", UtilityService + .getHttpErrorMessage(response)); + }); + $scope.isTableSpinnerVisible = false; + }); + + + $scope.cancelTable = function(){ + $scope.isTableDialogVisible = false; + $scope.popup.isTablePopUpVisible = false; + } + + +} + +app + .controller("previousVersionContoller", [ "COMPONENT", "FIELD", "$scope", "$http", + "$timeout", "$log", "CreationService", "UtilityService", "DataService","VIDCONFIGURATION", + previousVersionContoller ]); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionDialogController.js new file mode 100644 index 00000000..d11f432e --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/previousVersionDialogController.js @@ -0,0 +1,40 @@ +"use strict"; + +var previousVersionDialogController = function( COMPONENT, FIELD, $scope, $http, $timeout, $log, + CreationService, UtilityService, DataService,VIDCONFIGURATION) { + $scope.isTableDialogVisible = false; + $scope.summaryControl = {}; + $scope.userProvidedControl = {}; + + var callbackFunction = undefined; + var componentId = undefined; + + $scope.$on("createTableComponent", function(event, request) { + + $scope.isTableSpinnerVisible = true; + $scope.isTableErrorVisible = false; + $scope.isTableDialogVisible = true; + $scope.popup.isTablePopUpVisible = true; + componentId = request.componentId; + CreationService.initializeComponent(request.componentId); + callbackFunction = request.callbackFunction; + CreationService.setHttpErrorHandler(function(response) { + showError("System failure", UtilityService + .getHttpErrorMessage(response)); + }); + $scope.isTableSpinnerVisible = false; + }); + + + $scope.cancelTable = function(){ + $scope.isTableDialogVisible = false; + $scope.popup.isTablePopUpVisible = false; + } + + +} + +app + .controller("previousVersionDialogController", [ "COMPONENT", "FIELD", "$scope", "$http", + "$timeout", "$log", "CreationService", "UtilityService", "DataService","VIDCONFIGURATION", + previousVersionDialogController ]); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/statusDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/statusDialogController.js index de156667..0d067ff1 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/statusDialogController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/statusDialogController.js @@ -130,7 +130,7 @@ var statusDialogController = function(COMPONENT, FIELD, $scope, $http, $timeout, var polls = PropertyService.retrieveMsoMaxPolls(); PropertyService.setMsoMaxPolls(polls); - PropertyService.setServerResponseTimeoutMsec(10000) + PropertyService.setServerResponseTimeoutMsec(30000); $scope.isSpinnerVisible = true; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js index 06cbf058..029860f8 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/subscriberSearch.js @@ -64,7 +64,7 @@ appDS2.controller("aaiSubscriberSearchController", [ "$scope", "$timeout", "$log var polls = PropertyService.retrieveMsoMaxPolls(); PropertyService.setMsoMaxPolls(polls); - PropertyService.setServerResponseTimeoutMsec(10000); + PropertyService.setServerResponseTimeoutMsec(30000); // These two properties only added for testing properties.msoDefaultBaseUrl = $scope.baseUrl; diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js b/vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js index 69a0ae52..e57b43ec 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js @@ -49,355 +49,377 @@ var parameterBlockDirective = function($log, PARAMETER, UtilityService) { var checkboxInputStyle = "height: 18px; width: 18px; padding: 2px 5px;"; var selectStyle = "height: 25px; padding: 2px; text-align: center;"; var requiredLabelStyle = "width: 25px; padding: 5px 10px 10px 5px;"; - + var getParameterHtml = function(parameter, editable) { - var style = valueStyle; - var attributeString = ""; - if (parameter.type === PARAMETER.BOOLEAN) { - style = checkboxValueStyle; - } - if (UtilityService.hasContents(parameter.description)) { - attributeString += " title=' " + parameter.description + " '"; - } - var rowstyle=''; - if(parameter.type == 'file' && !parameter.isVisiblity){ - rowstyle = ' style="display:none;"'; - } - var html = "" - + getNameHtml(parameter) + ""; - if (editable === undefined) { - if (UtilityService.hasContents(parameter.value)) { - html += parameter.value; - } - } else { - html += getValueHtml(parameter); - } - html += ""; - return html; + var style = valueStyle; + var attributeString = ""; + if (parameter.type === PARAMETER.BOOLEAN) { + style = checkboxValueStyle; + } + if (UtilityService.hasContents(parameter.description)) { + attributeString += " title=' " + parameter.description + " '"; + } + var rowstyle=''; + if(parameter.type == 'file' && !parameter.isVisiblity){ + rowstyle = ' style="display:none;"'; + } + var html = "" + + getNameHtml(parameter) + ""; + if (editable === undefined) { + if (UtilityService.hasContents(parameter.value)) { + html += "" + parameter.value; + } else { + html += ""; + } + } else { + html += "" + getValueHtml(parameter); + } + html += ""; + return html; }; var updateParameter = function(parameter, element, editable) { - $(element).parent().parent().children("td").first().html( - getNameHtml(parameter)); - if (editable === undefined) { - $(element).html(parameter.value); - } else { - $(element).parent().html(getValueHtml(parameter)); - } + $(element).parent().parent().children("td").first().html( + getNameHtml(parameter)); + if (editable === undefined) { + $(element).html(parameter.value); + } else { + $(element).parent().html(getValueHtml(parameter)); + } }; var getNameHtml = function(parameter) { - if (parameter.isVisible === false) { - return ""; - } - var name = ""; - if (UtilityService.hasContents(parameter.name)) { - name = parameter.name; - } else { - name = parameter.id; - } - var requiredLabel = ""; - if (parameter.isRequired) { - requiredLabel = ""; - } - return name + ":" + requiredLabel; + if (parameter.isVisible === false) { + return ""; + } + var name = getParameterName(parameter); + + var requiredLabel = ""; + if (parameter.isRequired) { + requiredLabel = ""; + } + return name + ":" + requiredLabel; }; + var getParameterName = function(parameter) { + var name = ""; + if (UtilityService.hasContents(parameter.name)) { + name = parameter.name; + } else { + name = parameter.id; + } + return name; + } + var getValueHtml = function(parameter) { - - var textInputPrompt = "Enter data"; - var attributeString = " parameter-id='" + parameter.id + "'"; - var additionalStyle = ""; - if (parameter.isEnabled === false) { - attributeString += " disabled='disabled'"; - } - if (parameter.isRequired) { - attributeString += " is-required='true'"; - } - if (UtilityService.hasContents(parameter.description)) { - attributeString += " title=' " + parameter.description + " '"; - } - if (UtilityService.hasContents(parameter.isReadOnly) && (parameter.isReadOnly === true)) { - attributeString += " readonly"; - } - if ( (UtilityService.hasContents(parameter.maxLength)) && (UtilityService.hasContents(parameter.minLength)) ) { - attributeString += " pattern='.{" + parameter.minLength + "," + parameter.maxLength + "}' required"; - } - else if (UtilityService.hasContents(parameter.maxLength)) { - attributeString += " maxlength='" + parameter.maxLength + "'"; - } - else if (UtilityService.hasContents(parameter.minLength)) { - attributeString += " pattern='.{" + parameter.minLength + ",}'" - } - if (parameter.isVisible === false) { - additionalStyle = " visibility: hidden;"; - } - - var name = ""; - if (UtilityService.hasContents(parameter.name)) { - name = parameter.name; - } else { - name = parameter.id; - } - attributeString += " parameter-name='" + name + "'"; - - if ( parameter.type === PARAMETER.MAP ) { - textInputPrompt = "{: ,\.\.\.,: }"; - } - - if ( parameter.type === PARAMETER.LIST ) { - textInputPrompt = "[,\.\.\.,]"; - } - - switch (parameter.type) { - case PARAMETER.BOOLEAN: - if (parameter.value) { - return "" + "" - + ""; - + ""; - }else{ - return "" + "" - + "" - + ""; - } - break; - case PARAMETER.CHECKBOX: - if (parameter.value) { - return ""; - }else{ - return ""; - } - break; - case PARAMETER.FILE: - return ""; - break; - case PARAMETER.NUMBER: - var value=parameter.value; - var parameterSpec = ""; - } else { - //integer - return ""; - }*/ - return (parameterSpec); - break; - case PARAMETER.SELECT: - if (UtilityService.hasContents(parameter.prompt)) { - attributeString += " prompt='" + parameter.prompt + "'"; - } - return "" + getOptionListHtml(parameter) - + ""; - break; - case PARAMETER.STRING: - default: - var value = ""; - if (UtilityService.hasContents(parameter.value)) { - value = " value='" + parameter.value + "'"; - } - if (UtilityService.hasContents(parameter.prompt)) { - attributeString += " placeholder='" + parameter.prompt + "'"; - } else if (textInputPrompt !== "") { - attributeString += " placeholder='" + textInputPrompt + "'"; - } - var finalString = ""; - return finalString; - } + + var textInputPrompt = "Enter data"; + var attributeString = " data-tests-id='" + parameter.id +"' parameter-id='" + parameter.id + "'"; + var additionalStyle = ""; + if (parameter.isEnabled === false) { + attributeString += " disabled='disabled'"; + } + if (parameter.isRequired) { + attributeString += " is-required='true'"; + } + if (UtilityService.hasContents(parameter.description)) { + attributeString += " title=' " + parameter.description + " '"; + } + if (UtilityService.hasContents(parameter.isReadOnly) && (parameter.isReadOnly === true)) { + attributeString += " readonly"; + } + if ( (UtilityService.hasContents(parameter.maxLength)) && (UtilityService.hasContents(parameter.minLength)) ) { + attributeString += " pattern='.{" + parameter.minLength + "," + parameter.maxLength + "}' required"; + } + else if (UtilityService.hasContents(parameter.maxLength)) { + attributeString += " maxlength='" + parameter.maxLength + "'"; + } + else if (UtilityService.hasContents(parameter.minLength)) { + attributeString += " pattern='.{" + parameter.minLength + ",}'" + } + if (parameter.isVisible === false) { + additionalStyle = " visibility: hidden;"; + } + + var name = ""; + if (UtilityService.hasContents(parameter.name)) { + name = parameter.name; + } else { + name = parameter.id; + } + attributeString += " parameter-name='" + name + "'"; + + if ( parameter.type === PARAMETER.MAP ) { + textInputPrompt = "{: ,\.\.\.,: }"; + } + + if ( parameter.type === PARAMETER.LIST ) { + textInputPrompt = "[,\.\.\.,]"; + } + + switch (parameter.type) { + case PARAMETER.BOOLEAN: + if (parameter.value) { + return "" + "" + + ""; + + ""; + }else{ + return "" + "" + + "" + + ""; + } + break; + case PARAMETER.CHECKBOX: + if (parameter.value) { + return ""; + }else{ + return ""; + } + break; + case PARAMETER.FILE: + return ""; + break; + case PARAMETER.NUMBER: + var value=parameter.value; + var parameterSpec = ""; + } else { + //integer + return ""; + }*/ + return (parameterSpec); + break; + case PARAMETER.SELECT: + if (UtilityService.hasContents(parameter.prompt)) { + attributeString += " prompt='" + parameter.prompt + "'"; + } + return "" + getOptionListHtml(parameter) + + ""; + break; + case PARAMETER.STRING: + default: + var value = ""; + if (UtilityService.hasContents(parameter.value)) { + value = " value='" + parameter.value + "'"; + } + if (UtilityService.hasContents(parameter.prompt)) { + attributeString += " placeholder='" + parameter.prompt + "'"; + } else if (textInputPrompt !== "") { + attributeString += " placeholder='" + textInputPrompt + "'"; + } + var finalString = ""; + return finalString; + } }; - - + + var getBooleanListHtml = function(parameter){ - var html = ""; - + var html = ""; + }; var getOptionListHtml = function(parameter) { - var html = ""; + var html = ""; - if (!angular.isArray(parameter.optionList) - || parameter.optionList.length === 0) { - return ""; - } + if (!angular.isArray(parameter.optionList) + || parameter.optionList.length === 0) { + return ""; + } - if (UtilityService.hasContents(parameter.prompt)) { + if (UtilityService.hasContents(parameter.prompt)) { if (!(IS_SINGLE_OPTION_AUTO_SELECTED && parameter.optionList.length === 1) || !(parameter.isSingleOptionAutoSelected && parameter.optionList.length === 1)) { - html += ""; - } - } - - for (var i = 0; i < parameter.optionList.length; i++) { - var option = parameter.optionList[i]; - var name = option.name; - var value = ""; - if (option.id === undefined) { - value = option.name; - } else { - if (name === undefined) { - name = option.id; - } - value = option.id; - } - if (option.isDefault === undefined || option.isDefault === false ) { - html += ""; - } - else { - html += ""; - } - } - return html; + html += ""; + } + } + + for (var i = 0; i < parameter.optionList.length; i++) { + var option = parameter.optionList[i]; + var name = option.name; + var value = ""; + if (option.id === undefined) { + value = option.name; + } else { + if (name === undefined) { + name = option.id; + } + value = option.id; + } + html += getOptionHtml(option.isPermitted, option.isDataLoading, value, name, parameter); + } + return html; }; + function getOptionHtml(isPermitted, isDefault, value, name, parameter) { + var html = ""; + if (isDefault === undefined || isDefault === false ) { + if(isPermitted) + html = ""; + else { + html = ""; + } + } + else { + if(isPermitted) + html = ""; + else { + html = ""; + } + } + return html; + } + var getParameter = function(element, expectedId) { - var id = $(element).attr("parameter-id"); - if (expectedId !== undefined && expectedId !== id) { - return undefined; - } - var parameter = { - id : id - }; - if ($(element).prop("type") === "checkbox") { - parameter.value = $(element).prop("checked"); - }else if ($(element).prop("type") === "file") { - parameter.value = $('#'+id).attr("value"); - - } else { - if ($(element).prop("type") === "text") { - $(element).val($(element).val().trim()); - } - parameter.value = $(element).val(); - } - if ($(element).prop("selectedIndex") === undefined) { - parameter.selectedIndex = -1; - } else { - parameter.selectedIndex = $(element).prop("selectedIndex"); - if (UtilityService.hasContents($(element).attr("prompt"))) { - parameter.selectedIndex--; - } - } - return parameter; + var id = $(element).attr("parameter-id"); + if (expectedId !== undefined && expectedId !== id) { + return undefined; + } + var parameter = { + id : id + }; + if ($(element).prop("type") === "checkbox") { + parameter.value = $(element).prop("checked"); + }else if ($(element).prop("type") === "file") { + parameter.value = $('#'+id).attr("value"); + + } else { + if ($(element).prop("type") === "text") { + $(element).val($(element).val().trim()); + } + parameter.value = $(element).val(); + } + if ($(element).prop("selectedIndex") === undefined) { + parameter.selectedIndex = -1; + } else { + parameter.selectedIndex = $(element).prop("selectedIndex"); + if (UtilityService.hasContents($(element).attr("prompt"))) { + parameter.selectedIndex--; + } + } + return parameter; }; var getRequiredField = function(element) { - if ($(element).prop("type") === "text") { - $(element).val($(element).val().trim()); - } - if ($(element).val() === "" || $(element).val() === null) { - return '"' + $(element).attr("parameter-name") + '"'; - } else { - return ""; - } + if ($(element).prop("type") === "text") { + $(element).val($(element).val().trim()); + } + if ($(element).val() === "" || $(element).val() === null) { + return '"' + $(element).attr("parameter-name") + '"'; + } else { + return ""; + } }; var callback = function(element, scope) { - scope.callback({ - id : $(element).attr("parameter-id") - }); + scope.callback({ + id : $(element).attr("parameter-id") + }); }; return { - restrict : "EA", - replace : true, - template : "
", - scope : { - control : "=", - callback : "&" - }, - link : function(scope, element, attrs) { - - var control = scope.control || {}; - - control.setList = function(parameterList) { - var html = ""; - for (var i = 0; i < parameterList.length; i++) { - html += getParameterHtml(parameterList[i], attrs.editable); - } - element.html(html); - element.find("input, select").bind("change", function() { - callback(this, scope); - }); - } - - control.updateList = function(parameterList) { - element.find("input, select").each( - function() { - for (var i = 0; i < parameterList.length; i++) { - if (parameterList[i].id === $(this).attr( - "parameter-id")) { - updateParameter(parameterList[i], this, - attrs.editable); - } - } - }); - element.find("input, select").bind("change", function() { - callback(this, scope); - }); - } - - control.getList = function(expectedId) { - var parameterList = new Array(); - element.find("input, select").each(function() { - var parameter = getParameter(this, expectedId); - if (parameter !== undefined) { - parameterList.push(parameter); - } - }); - return parameterList; - } - - control.getRequiredFields = function() { - var requiredFields = ""; - var count = 0; - element.find("input, select").each(function() { - if ($(this).attr("is-required") === "true") { - var requiredField = getRequiredField(this); - if (requiredField !== "") { - if (++count == 1) { - requiredFields = requiredField; - } - } - } - }); - if (--count <= 0) { - return requiredFields; - } else if (count == 1) { - return requiredFields + " and 1 other field"; - } else { - return requiredFields + " and " + count + " other fields"; - } - } - } + restrict : "EA", + replace : true, + template : "
", + scope : { + control : "=", + callback : "&" + }, + link : function(scope, element, attrs) { + + var control = scope.control || {}; + + control.setList = function(parameterList) { + var html = ""; + for (var i = 0; i < parameterList.length; i++) { + html += getParameterHtml(parameterList[i], attrs.editable); + } + element.html(html); + element.find("input, select").bind("change", function() { + callback(this, scope); + }); + } + + control.updateList = function(parameterList) { + element.find("input, select").each( + function() { + for (var i = 0; i < parameterList.length; i++) { + if (parameterList[i].id === $(this).attr( + "parameter-id")) { + updateParameter(parameterList[i], this, + attrs.editable); + } + } + }); + element.find("input, select").bind("change", function() { + callback(this, scope); + }); + } + + control.getList = function(expectedId) { + var parameterList = new Array(); + element.find("input, select").each(function() { + var parameter = getParameter(this, expectedId); + if (parameter !== undefined) { + parameterList.push(parameter); + } + }); + return parameterList; + } + + control.getRequiredFields = function() { + var requiredFields = ""; + var count = 0; + element.find("input, select").each(function() { + if ($(this).attr("is-required") === "true") { + var requiredField = getRequiredField(this); + if (requiredField !== "") { + if (++count == 1) { + requiredFields = requiredField; + } + } + } + }); + if (--count <= 0) { + return requiredFields; + } else if (count == 1) { + return requiredFields + " and 1 other field"; + } else { + return requiredFields + " and " + count + " other fields"; + } + } + } } } appDS2.directive('parameterBlock', [ "$log", "PARAMETER", "UtilityService", - parameterBlockDirective ]); + parameterBlockDirective ]); appDS2.directive('onlyIntegers', function () { @@ -416,7 +438,7 @@ appDS2.directive('onlyIntegers', function () { } else if (event.which >= 96 && event.which <= 105) { // numpad number return true; - } + } // else if ([110, 190].indexOf(event.which) > -1) { // // dot and numpad dot // return true; @@ -435,13 +457,13 @@ appDS2.directive('onlyFloat', function () { restrict: 'A', link: function (scope, elm, attrs, ctrl) { elm.on('keydown', function (event) { - if ([110, 190].indexOf(event.which) > -1) { + if ([110, 190].indexOf(event.which) > -1) { // dot and numpad dot event.preventDefault(); return true; } else{ - return false; + return false; } }); } diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js.orig b/vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js.orig new file mode 100644 index 00000000..0e937826 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/directives/parameterBlockDirective.js.orig @@ -0,0 +1,507 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +"use strict"; + +var parameterBlockDirective = function($log, PARAMETER, UtilityService) { + /* + * If "IS_SINGLE_OPTION_AUTO_SELECTED" is set to "true" ... + * + * IF these 3 conditions all exist: + * + * 1) The parameter type is PARAMETER.SELECT + * + * 2) AND the "prompt" attribute is set to a string. + * + * 3) AND the optionList" only contains a single entry + * + * THEN the "prompt" will not be displayed as an initial select option. + */ + + var IS_SINGLE_OPTION_AUTO_SELECTED = true; + + /* + * Optionally remove "nameStyle" and "valueStyle" "width" entries to set + * dynamic sizing. + */ + var tableStyle = "width: auto; margin: 0 auto; border-collapse: collapse; border: none;"; + var nameStyle = "width: 220px; text-align: left; vertical-align: middle; font-weight: bold; padding: 3px 5px; border: none;"; + var valueStyle = "width: 400px; text-align: left; vertical-align: middle; padding: 3px 5px; border: none;"; + var checkboxValueStyle = "width: 400px; text-align: center; vertical-align: middle; padding: 3px 5px; border: none;" + var textInputStyle = "height: 25px; padding: 2px 5px;"; + var checkboxInputStyle = "height: 18px; width: 18px; padding: 2px 5px;"; + var selectStyle = "height: 25px; padding: 2px; text-align: center;"; + var requiredLabelStyle = "width: 25px; padding: 5px 10px 10px 5px;"; + + + var getParameterHtml = function(parameter, editable) { + var style = valueStyle; + var attributeString = ""; + if (parameter.type === PARAMETER.BOOLEAN) { + style = checkboxValueStyle; + } + if (UtilityService.hasContents(parameter.description)) { + attributeString += " title=' " + parameter.description + " '"; + } + var rowstyle=''; + if(parameter.type == 'file' && !parameter.isVisiblity){ + rowstyle = ' style="display:none;"'; + } + var html = "" + + getNameHtml(parameter) + ""; + if (editable === undefined) { + if (UtilityService.hasContents(parameter.value)) { + html += "" + parameter.value; + } else { + html += ""; + } + } else { + html += "" + getValueHtml(parameter); + } + html += ""; + return html; + }; + + var updateParameter = function(parameter, element, editable) { + $(element).parent().parent().children("td").first().html( + getNameHtml(parameter)); + if (editable === undefined) { + $(element).html(parameter.value); + } else { + $(element).parent().html(getValueHtml(parameter)); + } + }; + + var getNameHtml = function(parameter) { + if (parameter.isVisible === false) { + return ""; + } + var name = getParameterName(parameter); + + var requiredLabel = ""; + if (parameter.isRequired) { + requiredLabel = ""; + } + return name + ":" + requiredLabel; + }; + + var getParameterName = function(parameter) { + var name = ""; + if (UtilityService.hasContents(parameter.name)) { + name = parameter.name; + } else { + name = parameter.id; + } + return name; + } + + var getValueHtml = function(parameter) { + + var textInputPrompt = "Enter data"; + var attributeString = " data-tests-id='" + parameter.id +"' parameter-id='" + parameter.id + "'"; + var additionalStyle = ""; + if (parameter.isEnabled === false) { + attributeString += " disabled='disabled'"; + } + if (parameter.isRequired) { + attributeString += " is-required='true'"; + } + if (UtilityService.hasContents(parameter.description)) { + attributeString += " title=' " + parameter.description + " '"; + } + if (UtilityService.hasContents(parameter.isReadOnly) && (parameter.isReadOnly === true)) { + attributeString += " readonly"; + } + if ( (UtilityService.hasContents(parameter.maxLength)) && (UtilityService.hasContents(parameter.minLength)) ) { + attributeString += " pattern='.{" + parameter.minLength + "," + parameter.maxLength + "}' required"; + } + else if (UtilityService.hasContents(parameter.maxLength)) { + attributeString += " maxlength='" + parameter.maxLength + "'"; + } + else if (UtilityService.hasContents(parameter.minLength)) { + attributeString += " pattern='.{" + parameter.minLength + ",}'" + } + if (parameter.isVisible === false) { + additionalStyle = " visibility: hidden;"; + } + + var name = ""; + if (UtilityService.hasContents(parameter.name)) { + name = parameter.name; + } else { + name = parameter.id; + } + attributeString += " parameter-name='" + name + "'"; + + if ( parameter.type === PARAMETER.MAP ) { + textInputPrompt = "{: ,\.\.\.,: }"; + } + + if ( parameter.type === PARAMETER.LIST ) { + textInputPrompt = "[,\.\.\.,]"; + } + + switch (parameter.type) { + case PARAMETER.BOOLEAN: + if (parameter.value) { + return "" + "" + + ""; + + ""; + }else{ + return "" + "" + + "" + + ""; + } + break; + case PARAMETER.CHECKBOX: + if (parameter.value) { + return ""; + }else{ + return ""; + } + break; + case PARAMETER.FILE: + return ""; + break; + case PARAMETER.NUMBER: + var value=parameter.value; + var parameterSpec = ""; + } else { + //integer + return ""; + }*/ + return (parameterSpec); + break; + case PARAMETER.SELECT: + if (UtilityService.hasContents(parameter.prompt)) { + attributeString += " prompt='" + parameter.prompt + "'"; + } + return "" + getOptionListHtml(parameter) + + ""; + break; + case PARAMETER.STRING: + default: + var value = ""; + if (UtilityService.hasContents(parameter.value)) { + value = " value='" + parameter.value + "'"; + } + if (UtilityService.hasContents(parameter.prompt)) { + attributeString += " placeholder='" + parameter.prompt + "'"; + } else if (textInputPrompt !== "") { + attributeString += " placeholder='" + textInputPrompt + "'"; + } + var finalString = ""; + return finalString; + } + }; + + + var getBooleanListHtml = function(parameter){ + var html = ""; + + }; + + var getOptionListHtml = function(parameter) { + +<<<<<<< HEAD + var html = ""; + + if (!angular.isArray(parameter.optionList) + || parameter.optionList.length === 0) { + return ""; + } + + if (UtilityService.hasContents(parameter.prompt)) { + if (!(IS_SINGLE_OPTION_AUTO_SELECTED && parameter.optionList.length === 1) || !(parameter.isSingleOptionAutoSelected && parameter.optionList.length === 1)) { + html += ""; + } + } + + for (var i = 0; i < parameter.optionList.length; i++) { + var option = parameter.optionList[i]; + var name = option.name; + var value = ""; + if (option.id === undefined) { + value = option.name; + } else { + if (name === undefined) { + name = option.id; + } + value = option.id; + } + if (option.isDefault === undefined || option.isDefault === false ) { + html += ""; + } + else { + html += ""; + } + } + return html; +======= + var html = ""; + + if (!angular.isArray(parameter.optionList) + || parameter.optionList.length === 0) { + return ""; + } + + if (UtilityService.hasContents(parameter.prompt)) { + if (!(IS_SINGLE_OPTION_AUTO_SELECTED && parameter.optionList.length === 1)) { + html += ""; + } + } + + for (var i = 0; i < parameter.optionList.length; i++) { + var option = parameter.optionList[i]; + var name = option.name; + var value = ""; + if (option.id === undefined) { + value = option.name; + } else { + if (name === undefined) { + name = option.id; + } + value = option.id; + } + html += getOptionHtml(option.isPermitted, option.isDataLoading, value, name, parameter); + } + return html; +>>>>>>> 7e45cad... merge + }; + + function getOptionHtml(isPermitted, isDefault, value, name, parameter) { + var html = ""; + if (isDefault === undefined || isDefault === false ) { + if(isPermitted) + html = ""; + else { + html = ""; + } + } + else { + if(isPermitted) + html = ""; + else { + html = ""; + } + } + return html; + } + + var getParameter = function(element, expectedId) { + var id = $(element).attr("parameter-id"); + if (expectedId !== undefined && expectedId !== id) { + return undefined; + } + var parameter = { + id : id + }; + if ($(element).prop("type") === "checkbox") { + parameter.value = $(element).prop("checked"); + }else if ($(element).prop("type") === "file") { + parameter.value = $('#'+id).attr("value"); + + } else { + if ($(element).prop("type") === "text") { + $(element).val($(element).val().trim()); + } + parameter.value = $(element).val(); + } + if ($(element).prop("selectedIndex") === undefined) { + parameter.selectedIndex = -1; + } else { + parameter.selectedIndex = $(element).prop("selectedIndex"); + if (UtilityService.hasContents($(element).attr("prompt"))) { + parameter.selectedIndex--; + } + } + return parameter; + }; + + var getRequiredField = function(element) { + if ($(element).prop("type") === "text") { + $(element).val($(element).val().trim()); + } + if ($(element).val() === "" || $(element).val() === null) { + return '"' + $(element).attr("parameter-name") + '"'; + } else { + return ""; + } + }; + + var callback = function(element, scope) { + scope.callback({ + id : $(element).attr("parameter-id") + }); + }; + + return { + restrict : "EA", + replace : true, + template : "
", + scope : { + control : "=", + callback : "&" + }, + link : function(scope, element, attrs) { + + var control = scope.control || {}; + + control.setList = function(parameterList) { + var html = ""; + for (var i = 0; i < parameterList.length; i++) { + html += getParameterHtml(parameterList[i], attrs.editable); + } + element.html(html); + element.find("input, select").bind("change", function() { + callback(this, scope); + }); + } + + control.updateList = function(parameterList) { + element.find("input, select").each( + function() { + for (var i = 0; i < parameterList.length; i++) { + if (parameterList[i].id === $(this).attr( + "parameter-id")) { + updateParameter(parameterList[i], this, + attrs.editable); + } + } + }); + element.find("input, select").bind("change", function() { + callback(this, scope); + }); + } + + control.getList = function(expectedId) { + var parameterList = new Array(); + element.find("input, select").each(function() { + var parameter = getParameter(this, expectedId); + if (parameter !== undefined) { + parameterList.push(parameter); + } + }); + return parameterList; + } + + control.getRequiredFields = function() { + var requiredFields = ""; + var count = 0; + element.find("input, select").each(function() { + if ($(this).attr("is-required") === "true") { + var requiredField = getRequiredField(this); + if (requiredField !== "") { + if (++count == 1) { + requiredFields = requiredField; + } + } + } + }); + if (--count <= 0) { + return requiredFields; + } else if (count == 1) { + return requiredFields + " and 1 other field"; + } else { + return requiredFields + " and " + count + " other fields"; + } + } + } + } +} + +appDS2.directive('parameterBlock', [ "$log", "PARAMETER", "UtilityService", + parameterBlockDirective ]); + + +appDS2.directive('onlyIntegers', function () { + return { + restrict: 'A', + link: function (scope, elm, attrs, ctrl) { + elm.on('keydown', function (event) { + if(event.shiftKey){event.preventDefault(); return false;} + //console.log(event.which); + if ([8, 13, 27, 37, 38, 39, 40].indexOf(event.which) > -1) { + // backspace, enter, escape, arrows + return true; + } else if (event.which >= 49 && event.which <= 57) { + // numbers + return true; + } else if (event.which >= 96 && event.which <= 105) { + // numpad number + return true; + } + // else if ([110, 190].indexOf(event.which) > -1) { + // // dot and numpad dot + // return true; + // } + else { + event.preventDefault(); + return false; + } + }); + } + } +}); + +appDS2.directive('onlyFloat', function () { + return { + restrict: 'A', + link: function (scope, elm, attrs, ctrl) { + elm.on('keydown', function (event) { + if ([110, 190].indexOf(event.which) > -1) { + // dot and numpad dot + event.preventDefault(); + return true; + } + else{ + return false; + } + }); + } + } +}); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/aaiService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/aaiService.js index ee99547b..09c70eb5 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/aaiService.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/aaiService.js @@ -20,339 +20,365 @@ "use strict"; -var AaiService = function($http, $log, PropertyService, UtilityService, COMPONENT, FIELD) { +var AaiService = function ($http, $log, PropertyService, UtilityService, COMPONENT, FIELD) { return { - getSubscriberName : function(globalCustomerId, - successCallbackFunction) { - $log - .debug("AaiService:getSubscriberName: globalCustomerId: " - + globalCustomerId); - $http.get( - COMPONENT.AAI_SUB_DETAILS_PATH - + globalCustomerId + COMPONENT.ASSIGN + Math.random(), - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - var subName = ""; - if (response.data) { - subName = response.data[FIELD.ID.SUBNAME]; - } - successCallbackFunction(subName); - })["catch"] - (UtilityService.runHttpErrorHandler); - }, + getSubscriberName: function (globalCustomerId, + successCallbackFunction) { + $log + .debug("AaiService:getSubscriberName: globalCustomerId: " + + globalCustomerId); + $http.get( + COMPONENT.AAI_SUB_DETAILS_PATH + + globalCustomerId + COMPONENT.ASSIGN + Math.random(), + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + var subName = ""; + if (response.data) { + subName = response.data[FIELD.ID.SUBNAME]; + } + successCallbackFunction(subName); + })["catch"] + (UtilityService.runHttpErrorHandler); + }, - - runNamedQuery : function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) { - - var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH + - COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) + - COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) + - COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) + - COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId); - $http.get(url, { - },{ - timeout : PropertyService.getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data != null) { - successCallback(response); - } else { - errorCallback(response); - } - }, function(response) { - errorCallback(response); - }); - }, - - - getSubDetails : function(selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) { - var subscriber; - var displayData; - $http.get( COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, { + runNamedQuery: function (namedQueryId, globalCustomerId, serviceType, serviceInstanceId, successCallback, errorCallback) { - },{ - timeout : PropertyService.getServerResponseTimeoutMsec() - }).then(function(response) { - displayData = []; - subscriber = response.data; - var subscriberName = subscriber[FIELD.ID.SUBNAME]; - if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) { - angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function(serviceSubscription, key) { - var serviceInstanceId = []; - var serviceType = ""; - if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) { - serviceType = serviceSubscription[FIELD.ID.SERVICETYPE]; - } else { - serviceType = FIELD.PROMPT.NO_SERVICE_SUB; - } - if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) { - angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function(instValue, instKey) { - // put them together, i guess - var inst = { "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID], - "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID], - "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID], - "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME] - }; - if (selectedServiceInstance != null) { - if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) { - serviceInstanceId.push(inst); - } - } else { - serviceInstanceId.push(inst); - } - }); - } else { - if (serviceInstanceId == []) { - serviceInstanceId = [ FIELD.PROMPT.NO_SERVICE_INSTANCE ]; - } - } - angular.forEach(serviceInstanceId, function(subVal, subKey) { - displayData.push({ - globalCustomerId : selectedSubscriber, - subscriberName : subscriberName, - serviceType : serviceType, - serviceInstanceId : subVal.serviceInstanceId, - aaiModelInvariantId : subVal.aaiModelInvariantId, - aaiModelVersionId - : subVal.aaiModelVersionId, - serviceInstanceName : subVal.serviceInstanceName - }); - }); - }); - } else { - displayData.push({ - globalCustomerId : selectedSubscriber, - subscriberName : selectedSubscriberName, - serviceType : FIELD.PROMPT.NO_SERVICE_SUB, - serviceInstanceId : FIELD.PROMPT.NO_SERVICE_INSTANCE - }); - } - successCallback(displayData, subscriberName); - }, function(response) { - errorCallback(response); - }); - }, - getSubList : function(successCallback, errorCallback ) { + var url = COMPONENT.AAI_SUB_VIEWEDIT_PATH + + COMPONENT.FORWARD_SLASH + encodeURIComponent(namedQueryId) + + COMPONENT.FORWARD_SLASH + encodeURIComponent(globalCustomerId) + + COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceType) + + COMPONENT.FORWARD_SLASH + encodeURIComponent(serviceInstanceId); + $http.get(url, {}, { + timeout: PropertyService.getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data != null) { + successCallback(response); + } else { + errorCallback(response); + } + }, function (response) { + errorCallback(response); + }); + }, - $http.get( FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, { - },{ - timeout : PropertyService.getServerResponseTimeoutMsec() - }).then(function(response) { - var customerList = []; - if (response.data.customer != null) { - angular.forEach(response.data.customer, function(subVal, subKey) { - var cust = { "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], "subscriberName": subVal[FIELD.ID.SUBNAME] }; - customerList.push(cust); - }); - successCallback(customerList); - } else { - errorCallback(response); - } - },function(response) { - errorCallback(response); - }); - }, - - getServices2 : function(successCallback, errorCallback ) { + getSubDetails: function (selectedSubscriber, selectedServiceInstance, successCallback, errorCallback) { + var subscriber; + var displayData; + $http.get(COMPONENT.AAI_SUB_DETAILS_PATH + selectedSubscriber, {}, { + timeout: PropertyService.getServerResponseTimeoutMsec() + }).then(function (response) { + displayData = []; + subscriber = response.data; + var subscriberName = subscriber[FIELD.ID.SUBNAME]; + if (subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS] != null) { + angular.forEach(subscriber[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION], function (serviceSubscription, key) { + var serviceInstanceId = []; + var serviceType = ""; + if (serviceSubscription[FIELD.ID.SERVICETYPE] != null) { + serviceType = serviceSubscription[FIELD.ID.SERVICETYPE]; + } else { + serviceType = FIELD.PROMPT.NO_SERVICE_SUB; + } + if (serviceSubscription[FIELD.ID.SERVICE_INSTANCES] != null) { + angular.forEach(serviceSubscription[FIELD.ID.SERVICE_INSTANCES][FIELD.ID.SERVICE_INSTANCE], function (instValue, instKey) { + // put them together, i guess + var inst = { + "serviceInstanceId": instValue[FIELD.ID.SERVICE_INSTANCE_ID], + "aaiModelInvariantId": instValue[FIELD.ID.MODEL_INVAR_ID], + "aaiModelVersionId": instValue[FIELD.ID.MODEL_VERSION_ID], + "serviceInstanceName": instValue[FIELD.ID.SERVICE_INSTANCE_NAME] + }; + if (selectedServiceInstance != null) { + if ((instValue[FIELD.ID.SERVICE_INSTANCE_ID] == selectedServiceInstance ) || (instValue[FIELD.ID.SERVICE_INSTANCE_NAME] == selectedServiceInstance)) { + serviceInstanceId.push(inst); + } + } else { + serviceInstanceId.push(inst); + } + }); + } else { + if (serviceInstanceId == []) { + serviceInstanceId = [FIELD.PROMPT.NO_SERVICE_INSTANCE]; + } + } + angular.forEach(serviceInstanceId, function (subVal, subKey) { + displayData.push({ + globalCustomerId: selectedSubscriber, + subscriberName: subscriberName, + serviceType: serviceType, + serviceInstanceId: subVal.serviceInstanceId, + aaiModelInvariantId: subVal.aaiModelInvariantId, + aaiModelVersionId: subVal.aaiModelVersionId, + serviceInstanceName: subVal.serviceInstanceName, + isPermitted: serviceSubscription[FIELD.ID.IS_PERMITTED] + }); + }); + }); + } else { + displayData.push({ + globalCustomerId: selectedSubscriber, + subscriberName: selectedSubscriberName, + serviceType: FIELD.PROMPT.NO_SERVICE_SUB, + serviceInstanceId: FIELD.PROMPT.NO_SERVICE_INSTANCE + }); + } + successCallback(displayData, subscriberName); + }, function (response) { + errorCallback(response); + }); + }, + getSubList: function (successCallback, errorCallback) { - $http.get( FIELD.ID.AAI_GET_SERVICES, { + $http.get(FIELD.ID.AAI_GET_FULL_SUBSCRIBERS, {}, { + timeout: PropertyService.getServerResponseTimeoutMsec() + }).then(function (response) { + var customerList = []; + if (response.data.customer != null) { + angular.forEach(response.data.customer, function (subVal, subKey) { + var cust = { + "globalCustomerId": subVal[FIELD.ID.GLOBAL_CUSTOMER_ID], + "subscriberName": subVal[FIELD.ID.SUBNAME], + "isPermitted": subVal[FIELD.ID.IS_PERMITTED], + }; + customerList.push(cust); + }); + successCallback(customerList); + } else { + errorCallback(response); + } + }, function (response) { + errorCallback(response); + }); + }, - },{ - timeout : PropertyService.getServerResponseTimeoutMsec() - }).then(function(response) { - var customerList = []; - if (response.data != null) { - var serviceIdList = []; - angular.forEach(response.data, function(value, key) { - angular.forEach(value, function(subVal, key) { - var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] }; - serviceIdList.push(newVal); - }); - }); - successCallback(serviceIdList); - } else { - errorCallback(response); - } - },function(response) { - errorCallback(response); - }); - }, - - getSubscriptionServiceTypeList : function(globalCustomerId, - successCallbackFunction) { - $log - .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: " - + globalCustomerId); - if ( UtilityService.hasContents(globalCustomerId) ) { - $http.get( - COMPONENT.AAI_SUB_DETAILS_PATH - + globalCustomerId + COMPONENT.ASSIGN + Math.random(), - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) { - var serviceTypes = []; - var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]; - - for (var i = 0; i < serviceSubscriptions.length; i++) { - serviceTypes.push(serviceSubscriptions[i][FIELD.ID.SERVICETYPE]); - } - successCallbackFunction(serviceTypes); - } else { - successCallbackFunction([]); - } - })["catch"] - (UtilityService.runHttpErrorHandler); - } - }, - getLcpCloudRegionTenantList : function(globalCustomerId, serviceType, - successCallbackFunction) { - $log - .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: " - + globalCustomerId); - var url = COMPONENT.AAI_GET_TENANTS - + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random(); - - $http.get(url, - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - var lcpCloudRegionTenants = []; - var aaiLcpCloudRegionTenants = response.data; - - lcpCloudRegionTenants.push({ - "cloudRegionId": "", - "tenantName": FIELD.PROMPT.REGION, - "tenantId": "" - }); - - for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) { - lcpCloudRegionTenants.push({ - "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID], - "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME], - "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID] - }); - } - - successCallbackFunction(lcpCloudRegionTenants); - })["catch"] - (UtilityService.runHttpErrorHandler); - }, - getSubscribers : function(successCallbackFunction) { - $log - .debug("AaiService:getSubscribers"); - var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random(); - - $http.get(url, - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data) { - successCallbackFunction(response.data.customer); - } else { - successCallbackFunction([]); - } - })["catch"] - (UtilityService.runHttpErrorHandler); - }, - getProvOptionsFromSystemProp : function(successCallbackFunction) { - $log - .debug("AaiService:getProvOptionsFromSystemProp"); - var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH; - - $http.get(url, - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data) { - successCallbackFunction(response); - } else { - successCallbackFunction([]); - } - })["catch"] - (UtilityService.runHttpErrorHandler); - }, - getLoggedInUserID : function(successCallbackFunction) { - $log - .debug("AaiService:getLoggedInUserID"); - var url = COMPONENT.GET_USER_ID; - - $http.get(url, - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data) { - successCallbackFunction(response); - } else { - successCallbackFunction([]); - } - })["catch"] - (UtilityService.runHttpErrorHandler); - }, - getServices : function(successCallbackFunction) { - $log - .debug("AaiService:getServices"); - var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random(); - - $http.get(url, - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data) { - successCallbackFunction(response); - } else { - successCallbackFunction([]); - } - })["catch"] - (UtilityService.runHttpErrorHandler); - }, - getServiceModels : function(globalCustomerId,serviceType,successCallbackFunction) { - $log - .debug("AaiService:getServices"); - var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH+globalCustomerId+ COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random(); + getServices2: function (successCallback, errorCallback) { - $http.get(url, - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data) { - successCallbackFunction(response); - } else { - successCallbackFunction([]); - } - })["catch"] - (UtilityService.runHttpErrorHandler); -}, -getServiceModelsByServiceType : function(namedQueryId,globalCustomerId,serviceType,successCallbackFunction) { - $log - .debug("AaiService:getServiceModelsByServiceType"); - var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE+COMPONENT.FORWARD_SLASH+namedQueryId+COMPONENT.FORWARD_SLASH+globalCustomerId+COMPONENT.FORWARD_SLASH +serviceType+COMPONENT.ASSIGN + Math.random(); - - $http.get(url, - { - timeout : PropertyService - .getServerResponseTimeoutMsec() - }).then(function(response) { - if (response.data) { - successCallbackFunction(response); - } else { - successCallbackFunction([]); - } - })["catch"] - (UtilityService.runHttpErrorHandler); - } + $http.get(FIELD.ID.AAI_GET_SERVICES, {}, { + timeout: PropertyService.getServerResponseTimeoutMsec() + }).then(function (response) { + var customerList = []; + if (response.data != null) { + var serviceIdList = []; + angular.forEach(response.data, function (value, key) { + angular.forEach(value, function (subVal, key) { + var newVal = { + "id": subVal[FIELD.ID.SERVICE_ID], + "description": subVal[FIELD.ID.SERVICE_DESCRIPTION], + "isPermitted" : subVal[FIELD.ID.IS_PERMITTED] + + }; + serviceIdList.push(newVal); + }); + }); + successCallback(serviceIdList); + } else { + errorCallback(response); + } + }, function (response) { + errorCallback(response); + }); + }, + + getSubscriptionServiceTypeList: function (globalCustomerId, + successCallbackFunction) { + $log + .debug("AaiService:getSubscriptionServiceTypeList: globalCustomerId: " + + globalCustomerId); + if (UtilityService.hasContents(globalCustomerId)) { + $http.get( + COMPONENT.AAI_SUB_DETAILS_PATH + + globalCustomerId + COMPONENT.ASSIGN + Math.random(), + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data && response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS]) { + var serviceTypes = []; + var serviceSubscriptions = response.data[FIELD.ID.SERVICE_SUBSCRIPTIONS][FIELD.ID.SERVICE_SUBSCRIPTION]; + + for (var i = 0; i < serviceSubscriptions.length; i++) { + serviceTypes.push({ + "name": serviceSubscriptions[i][FIELD.ID.SERVICETYPE], + "isPermitted": serviceSubscriptions[i][FIELD.ID.IS_PERMITTED], + "id": i + }); + } + successCallbackFunction(serviceTypes); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + } + }, + getLcpCloudRegionTenantList: function (globalCustomerId, serviceType, + successCallbackFunction) { + $log + .debug("AaiService:getLcpCloudRegionTenantList: globalCustomerId: " + + globalCustomerId); + var url = COMPONENT.AAI_GET_TENANTS + + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random(); + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + var lcpCloudRegionTenants = []; + var aaiLcpCloudRegionTenants = response.data; + + lcpCloudRegionTenants.push({ + "cloudRegionId": "", + "tenantName": FIELD.PROMPT.REGION, + "tenantId": "" + }); + + for (var i = 0; i < aaiLcpCloudRegionTenants.length; i++) { + lcpCloudRegionTenants.push({ + "cloudRegionId": aaiLcpCloudRegionTenants[i][COMPONENT.CLOUD_REGION_ID], + "tenantName": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_NAME], + "tenantId": aaiLcpCloudRegionTenants[i][COMPONENT.TENANT_ID], + "isPermitted": aaiLcpCloudRegionTenants[i][COMPONENT.IS_PERMITTED] + }); + } + + successCallbackFunction(lcpCloudRegionTenants); + })["catch"] + (UtilityService.runHttpErrorHandler); + }, + getSubscribers: function (successCallbackFunction) { + $log + .debug("AaiService:getSubscribers"); + var url = FIELD.ID.AAI_GET_SUBSCRIBERS + COMPONENT.ASSIGN + Math.random(); + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data) { + successCallbackFunction(response.data.customer); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + }, + getProvOptionsFromSystemProp: function (successCallbackFunction) { + $log + .debug("AaiService:getProvOptionsFromSystemProp"); + var url = COMPONENT.GET_SYSTEM_PROP_VNF_PROV_STATUS_PATH; + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data) { + successCallbackFunction(response); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + }, + getLoggedInUserID: function (successCallbackFunction) { + $log + .debug("AaiService:getLoggedInUserID"); + var url = COMPONENT.GET_USER_ID; + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data) { + successCallbackFunction(response); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + }, + getServices: function (successCallbackFunction) { + $log + .debug("AaiService:getServices"); + var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.ASSIGN + Math.random(); + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data) { + successCallbackFunction(response); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + }, + + getAicZones: function (successCallbackFunction) { + $log + .debug("getAicZones:getAicZones"); + var url = COMPONENT.AAI_GET_AIC_ZONES + COMPONENT.ASSIGN + Math.random(); + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data) { + successCallbackFunction(response); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + }, + getServiceModels: function (globalCustomerId, serviceType, successCallbackFunction) { + $log + .debug("AaiService:getServices"); + var url = COMPONENT.AAI_GET_SERVICES + COMPONENT.FORWARD_SLASH + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random(); + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data) { + successCallbackFunction(response); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + }, + getServiceModelsByServiceType: function (namedQueryId, globalCustomerId, serviceType, successCallbackFunction) { + $log + .debug("AaiService:getServiceModelsByServiceType"); + var url = COMPONENT.AAI_GET_SERVICES_BY_TYPE + COMPONENT.FORWARD_SLASH + namedQueryId + COMPONENT.FORWARD_SLASH + globalCustomerId + COMPONENT.FORWARD_SLASH + serviceType + COMPONENT.ASSIGN + Math.random(); + + $http.get(url, + { + timeout: PropertyService + .getServerResponseTimeoutMsec() + }).then(function (response) { + if (response.data) { + successCallbackFunction(response); + } else { + successCallbackFunction([]); + } + })["catch"] + (UtilityService.runHttpErrorHandler); + } } } -appDS2.factory("AaiService", [ "$http", "$log", "PropertyService", - "UtilityService", "COMPONENT", "FIELD", AaiService ]); +appDS2.factory("AaiService", ["$http", "$log", "PropertyService", + "UtilityService", "COMPONENT", "FIELD", AaiService]); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/componentService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/componentService.js index 391c6ba1..ea46dcb9 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/componentService.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/componentService.js @@ -30,7 +30,9 @@ var ComponentService = function($log, COMPONENT, UtilityService) { }, { id : COMPONENT.SERVICE, displayName : "Service Instance" - }, { + }, {id : COMPONENT.OLDVERSION, + displayName : "Previous Version" + }, { id : COMPONENT.VNF, displayName : "Virtual Network Function" }, { diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js index 11e61b3a..9309ce6c 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/creationService.js @@ -39,7 +39,7 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON getLoggedInUserID(); switch (_this.componentId) { case COMPONENT.SERVICE: - return [ getSubscribers, getServices ]; + return [ getSubscribers, getServices,getAicZones ]; case COMPONENT.NETWORK: return [ getLcpCloudRegionTenantList ]; case COMPONENT.VNF: @@ -121,6 +121,13 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON .getModelInfo(_this.componentId)[FIELD.ID.DESCRIPTION]); addToList(FIELD.NAME.SERVICE_CATEGORY, DataService .getModelInfo(_this.componentId)[FIELD.ID.CATEGORY]); + if (DataService.getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE] != "null") { + addToList(FIELD.NAME.SERVICE_TYPE, DataService + .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_TYPE]); + addToList(FIELD.NAME.SERVICE_ROLE, DataService + .getModelInfo(_this.componentId)[FIELD.ID.SERVICE_ROLE]); + } + break; case COMPONENT.VF_MODULE: addToList(FIELD.NAME.SUBSCRIBER_NAME, DataService @@ -209,14 +216,18 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON if(!isInTop){ if (isUserProvidedNaming) { parameterList = [ FIELD.PARAMETER.INSTANCE_NAME ]; - + } parameterList = parameterList.concat([ getSubscribersParameter() ]); parameterList = parameterList.concat([ getServiceId(), FIELD.PARAMETER.SERVICE_TYPE, FIELD.PARAMETER.LCP_REGION, FIELD.PARAMETER.LCP_REGION_TEXT_HIDDEN, - FIELD.PARAMETER.TENANT_DISABLED ]); + FIELD.PARAMETER.TENANT_DISABLED, + ]); + parameterList = parameterList.concat([ getAICZones() ]); + + }else{ parameterList = parameterList.concat([ getServiceId(), FIELD.PARAMETER.LCP_REGION, @@ -263,23 +274,27 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON } parameterList.push(FIELD.PARAMETER.SUPPRESS_ROLLBACK); if(_this.componentId === COMPONENT.VF_MODULE ){ - parameterList.push({name: "SDN-C Pre-Load", - id: "sdncPreload", + if(DataService.getSubscriberName() === FIELD.NAME.MOBILITY){ + parameterList.push({name: FIELD.NAME.SDN_C_PRELOAD, + id: FIELD.ID.SDN_C_PRELOAD, type: "checkbox", isEnabled: true, - isRequired: false + isRequired: false, + hideFieldAndLabel: true } ); - parameterList.push({name: "Upload Supplementory Data file", - id: "uploadSupplementoryDataFile", + } + parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, type: "checkbox", isEnabled: true, - isRequired: false + isRequired: false, + value:false } ); - parameterList.push({name: "Supplemetory file (JSON format)", - id: "supplementoryDataFile", + parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.SUPPLEMENTORY_DATA_FILE, type: "file", isRequired: false, isVisiblity: false @@ -288,16 +303,16 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON } if( VIDCONFIGURATION.UPLOAD_SUPPLEMENTARY_STATUS_CHECK_ENABLED && _this.componentId === COMPONENT.VOLUME_GROUP){ - parameterList.push({name: "Upload Supplementory Data file", - id: "uploadSupplementoryDataFile", + parameterList.push({name: FIELD.NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE, type: "checkbox", isEnabled: true, isRequired: false } ); - parameterList.push({name: "Supplemetory file (JSON format)", - id: "supplementoryDataFile", + parameterList.push({name: FIELD.NAME.SUPPLEMENTORY_DATA_FILE, + id: FIELD.ID.SUPPLEMENTORY_DATA_FILE, type: "file", isRequired: false, isVisiblity: false @@ -584,7 +599,12 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON break; case COMPONENT.VF_MODULE: - break; + requestDetails.requestParameters.usePreload = getValueFromList( + FIELD.ID.SDN_C_PRELOAD, parameterList); + if(_this.componentId == COMPONENT.VF_MODULE &&(requestDetails.requestParameters.usePreload== null || requestDetails.requestParameters.usePreload === '')){ + requestDetails.requestParameters.usePreload = true; + } + break; case COMPONENT.VOLUME_GROUP: break; } @@ -716,12 +736,24 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON break; case FIELD.ID.SUBSCRIBER_NAME: break; + case FIELD.ID.SDN_C_PRELOAD: + break; + case FIELD.ID.UPLOAD_SUPPLEMENTORY_DATA_FILE: + break; + case FIELD.ID.SUPPLEMENTORY_DATA_FILE: + arbitraryParameters = FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']; + arbitraryArray=arbitraryParameters; + FIELD.PARAMETER.SUPPLEMENTORY_DATA_FILE['value']=[]; + break; + default: - arbitraryParameters = { - name : parameter.id, - value : parameter.value + if (parameter.value != '') { + arbitraryParameters = { + name: parameter.id, + value: parameter.value + } + arbitraryArray.push(arbitraryParameters); } - arbitraryArray.push(arbitraryParameters); } } return (arbitraryArray); @@ -766,15 +798,40 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON var serviceIdList = []; angular.forEach(response.data, function(value, key) { angular.forEach(value, function(subVal, key) { - var newVal = { "id" : subVal[FIELD.ID.SERVICE_ID], "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION] }; + var newVal = { + "id" : subVal[FIELD.ID.SERVICE_ID], + "description" : subVal[FIELD.ID.SERVICE_DESCRIPTION], + "isPermitted" : subVal[FIELD.ID.IS_PERMITTED], + }; serviceIdList.push(newVal); DataService.setServiceIdList(serviceIdList); }); }); - + UtilityService.startNextAsyncOperation(); }); }; + var getAicZones = function() { + AaiService.getAicZones(function(response) { + var serviceIdList = []; + angular.forEach(response.data, function(value, key) { + angular.forEach(value, function(subVal, key) { + var newVal = { + "id" : subVal[FIELD.ID.ZONE_ID], + "name" : subVal[FIELD.ID.ZONE_NAME], + }; + serviceIdList.push(newVal); + DataService.setAicZones(serviceIdList); + }); + }); + + UtilityService.startNextAsyncOperation(); + }); + + }; + + + var getLcpCloudRegionTenantList = function() { AaiService.getLcpCloudRegionTenantList(DataService .getGlobalCustomerId(), DataService.getServiceType(), function( @@ -802,7 +859,8 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON for (var i = 0; i < subscribers.length; i++) { parameter.optionList.push({ id : subscribers[i][FIELD.ID.GLOBAL_CUSTOMER_ID], - name : subscribers[i][FIELD.ID.SUBNAME] + name : subscribers[i][FIELD.ID.SUBNAME], + isPermitted : subscribers[i][FIELD.ID.IS_PERMITTED] }) } } @@ -819,7 +877,8 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON for (var i = 0; i < serviceIdList.length; i++) { parameter.optionList.push({ id : serviceIdList[i].id, - name : serviceIdList[i].description + name : serviceIdList[i].description, + isPermitted : serviceIdList[i].isPermitted }); } } @@ -827,6 +886,26 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON return parameter; }; + var getAICZones = function() { + var aicList = DataService.getAicZones(); + var parameter = FIELD.PARAMETER.AIC_ZONES; + parameter.optionList = new Array(); + if ( UtilityService.hasContents(aicList) ) { + // load them all + for (var i = 0; i < aicList.length; i++) { + parameter.optionList.push({ + id : aicList[i].id, + name : aicList[i].name, + isPermitted : true + + }); + } + } + + return parameter; + }; + + var getLcpRegion = function() { var cloudRegionTenantList = DataService.getCloudRegionTenantList(); console.log ( "cloudRegionTenantList="); @@ -838,14 +917,17 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON for (var i = 0; i < cloudRegionTenantList.length; i++) { for (var j = 0; j < parameter.optionList.length; j++) { if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) { - break; - } + parameter.optionList[j].isPermitted = + parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted; + break; + } } if (j < parameter.optionList.length) { continue; } parameter.optionList.push({ - id : cloudRegionTenantList[i].cloudRegionId + id : cloudRegionTenantList[i].cloudRegionId, + isPermitted : cloudRegionTenantList[i].isPermitted }); } } @@ -862,8 +944,10 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) { parameter.optionList.push({ id : cloudRegionTenantList[i].tenantId, - name : cloudRegionTenantList[i].tenantName - }); + name : cloudRegionTenantList[i].tenantName, + isPermitted : cloudRegionTenantList[i].isPermitted + + }); } } } @@ -878,7 +962,8 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON } for (var i = 0; i < optionSimpleArray.length; i++) { optionList.push({ - name : optionSimpleArray[i] + name : optionSimpleArray[i], + isPermitted :true, }); } parameter.optionList = optionList; @@ -918,6 +1003,7 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED ]); }else{ $('input[parameter-id="'+FIELD.ID.SUPPLEMENTORY_DATA_FILE+'"]').closest('tr').hide(); + FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED.value=false; parameterListControl .updateList([ FIELD.PARAMETER.UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED ]); } @@ -959,9 +1045,11 @@ var CreationService = function($log, AaiService, AsdcService, DataService,VIDCON for (var i = 0; i < response.length; i++) { serviceTypeParameters.optionList.push({ - "id" : response[i], - "name" : response[i] - }); + "id" : response[i].name, + "name" : response[i].name, + "isPermitted" :response[i].isPermitted + + }); } console.log ( "updateUserParameterList: service type parameters " ); console.log ( JSON.stringify (serviceTypeParameters, null, 4)); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/dataService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/dataService.js index bb5adad3..2d7fa6ca 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/dataService.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/dataService.js @@ -94,6 +94,12 @@ var DataService = function($log, DataService) { setServiceIdList : function(serviceIdList) { _this.serviceIdList = serviceIdList; }, + setAicZones : function(aicZones) { + _this.aicZones = aicZones; + }, + getAicZones : function(){ + return _this.aicZones; + }, getServiceInstanceId : function() { return _this.serviceInstanceId; }, @@ -249,6 +255,15 @@ var DataService = function($log, DataService) { } return _this.aLaCarte; }, + setMacro : function(aval) { + _this.macro = aval; + }, + getMacro : function() { + if (_this.macro === undefined) { + return false; + } + return _this.macro; + }, getResources : function() { return _this.resources; }, diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/deletionService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/deletionService.js index 62c2b19c..79282997 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/deletionService.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/deletionService.js @@ -380,15 +380,19 @@ var DeletionService = function($log, AaiService, AsdcService, DataService, for (var i = 0; i < cloudRegionTenantList.length; i++) { for (var j = 0; j < parameter.optionList.length; j++) { if (parameter.optionList[j].id === cloudRegionTenantList[i].cloudRegionId) { - break; + parameter.optionList[j].isPermitted = + parameter.optionList[j].isPermitted || cloudRegionTenantList[i].isPermitted; + break; } } if (j < parameter.optionList.length) { continue; } parameter.optionList.push({ - id : cloudRegionTenantList[i].cloudRegionId - }); + id : cloudRegionTenantList[i].cloudRegionId, + isPermitted : cloudRegionTenantList[i].isPermitted + + }); } } return parameter; @@ -404,8 +408,9 @@ var DeletionService = function($log, AaiService, AsdcService, DataService, if (cloudRegionTenantList[i].cloudRegionId === cloudRegionId) { parameter.optionList.push({ id : cloudRegionTenantList[i].tenantId, - name : cloudRegionTenantList[i].tenantName - }); + name : cloudRegionTenantList[i].tenantName, + isPermitted : cloudRegionTenantList[i].isPermitted + }); } } } @@ -465,8 +470,8 @@ var DeletionService = function($log, AaiService, AsdcService, DataService, for (var i = 0; i < response.length; i++) { serviceTypeParameters.optionList.push({ - "id" : response[i], - "name" : response[i] + "id" : response[i].name, + "name" : response[i].name }); } parameterListControl.updateList([ serviceTypeParameters ]); @@ -493,7 +498,8 @@ var DeletionService = function($log, AaiService, AsdcService, DataService, }, updateUserParameterList : updateUserParameterList, getMsoRequestDetails : getMsoRequestDetails, - getMsoUrl : getMsoUrl + getMsoUrl : getMsoUrl, + isMacro : DataService.getMacro() } } diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/services/vnfService.js b/vid-app-common/src/main/webapp/app/vid/scripts/services/vnfService.js index 836279b9..3fc04ba0 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/services/vnfService.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/services/vnfService.js @@ -41,21 +41,42 @@ var VnfService = function($http, $log, VIDCONFIGURATION, FIELD, UtilityService) if ( ( UtilityService.hasContents ( vnfInstance.object[FIELD.ID.ORCHESTRATION_STATUS] ) ) && ( UtilityService.hasContents ( vnfInstance.object[FIELD.ID.IN_MAINT] ) ) && ( UtilityService.hasContents ( vnfInstance.object[FIELD.ID.PROV_STATUS] ) ) ) { - + status.provStatus = vnfInstance.object[FIELD.ID.PROV_STATUS].toLowerCase(); + console.log ("PROVSTATUS: " + vnfInstance.object[FIELD.ID.PROV_STATUS].toLowerCase()); + status.orchestrationStatus = vnfInstance.object[FIELD.ID.ORCHESTRATION_STATUS].toLowerCase(); + console.log ("ORCHESTRATION STATUS: " + vnfInstance.object[FIELD.ID.ORCHESTRATION_STATUS].toLowerCase()); + status.inMaint = vnfInstance.object[FIELD.ID.IN_MAINT]; - + console.log ("IN MAINT: " + vnfInstance.object[FIELD.ID.IN_MAINT]); + if ( UtilityService.hasContents(vnfInstance.object[FIELD.ID.OPERATIONAL_STATUS]) ) { status.operationalStatus = vnfInstance.object[FIELD.ID.OPERATIONAL_STATUS].toLowerCase(); } - - if ( UtilityService.arrayContains ( VIDCONFIGURATION.VNF_VALID_STATUS_LIST, status ) ) { - return (""); - } - else { - return (errorInvalidCombinationMsg); - } + var i = VIDCONFIGURATION.VNF_VALID_STATUS_LIST.length; + if ( i > 0 ) { + while (i--) { + var item = VIDCONFIGURATION.VNF_VALID_STATUS_LIST[i]; + if ( (item.provStatus === status.provStatus) && (item.inMaint === status.inMaint ) + && (item.orchestrationStatus === status.orchestrationStatus) ) { + if (UtilityService.hasContents(vnfInstance.object[FIELD.ID.OPERATIONAL_STATUS])) { + if (status.operationalStatus === "") { status.operationalStatus = null } + if ( item.operationalStatus === status.operationalStatus ) { + return (""); + } + } + else { + // no contents + if ( item.operationalStatus === null ) { + return (""); + } + } + } + } + } + + return (errorInvalidCombinationMsg); } else { return (errorAaiStatusMsg); diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubs.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubs.htm index d22e3d91..c5c5ccaa 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubs.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubs.htm @@ -18,66 +18,85 @@ ============LICENSE_END========================================================= --> - - + +
-
-
- - {{status}} -
+
+
+ + {{status}} +
-
{{errorMsg}}
{{errorDetails | json}}
- -

Search Existing Service Instances

-
- Please search by the Subscriber name or enter Service Instance Id or Service Instance Name below: 

- - - - - - - - - - - - - - - - -
-
- -
-
-
- -    -
-
-
- -
-
-
- -
-
- -
- -
-
- - -
+
{{errorMsg}} +
{{errorDetails | json}}
+
+ +

+
Search Existing Service Instances
+

+
+ Please search by the Subscriber name or enter Service Instance Id or Service Instance Name below: 

+ + + + + + + + + + + + + + + + +
+
+ +
+
+
+ + + + + +    +
+
+
+ +
+
+
+ +
+
+ +
+ + +
+
+ + +
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubscriberList.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubscriberList.htm index 6a911be1..16357dde 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubscriberList.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiGetSubscriberList.htm @@ -42,8 +42,10 @@
- +   
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiServiceTypes.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiServiceTypes.htm index 6711bfaf..06a53c3e 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiServiceTypes.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiServiceTypes.htm @@ -41,7 +41,7 @@
- +
@@ -55,8 +55,10 @@
- +   
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubDetails.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubDetails.htm index 2426f152..3471fcb9 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubDetails.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubDetails.htm @@ -54,15 +54,14 @@ - - + - + diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubViewEdit.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubViewEdit.htm index a7ea8336..40bd1488 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubViewEdit.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/aaiSubViewEdit.htm @@ -20,128 +20,144 @@
-
-
-
-
-
- -
-
- - {{status}} -
- -

-
VIEW/EDIT SERVICE INSTANCE
-

- - -
- - -
- - - - - - - - - -
SUBSCRIBER: - {{globalCustomerId}}SERVICE TYPE: - {{serviceType}}SERVICE INSTANCE - ID: {{serviceInstanceId}}
Service Instance - Name: {{serviceInstanceName || "Not defined"}} -
- -
- - -
- -
- - EXISTING -
-
-
-
    -
  1. -
-
-
- -
- AVAILABLE - - + EXISTING +
+
+
+
    +
  1. +
+
+
+ +
+ AVAILABLE + + - -
-
-
-
    -
  1. -
-
-
-
-
-
- - - -
+                    
{{node.nodeType}}
+
{{node.nodeId}}
+
{{node.nodeStatus}}
+ + + + + + + + + +
+
    +
  1. +
  2. +
+ + +
+
+
+
    +
  1. +
+
+
+
+
+
+ + + +
   				{{inventoryResponseItem | json}}
 			
-
-
+ + diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/createInstanceServiceModels.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/createInstanceServiceModels.htm index 4d02ae80..0f694612 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/createInstanceServiceModels.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/createInstanceServiceModels.htm @@ -19,6 +19,9 @@ --> +
+
+
@@ -37,13 +40,13 @@ -
+
- +
@@ -57,7 +60,7 @@
- +
@@ -68,7 +71,7 @@
Filter: - +
@@ -89,14 +92,19 @@ - + - + + + +   diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/creationDialog.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/creationDialog.htm index ff79d707..4449285d 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/creationDialog.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/creationDialog.htm @@ -31,7 +31,7 @@
- diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/instantiate.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/instantiate.htm index e4bb67ff..27622ff6 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/instantiate.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/instantiate.htm @@ -20,24 +20,24 @@
-
+
-
+
-
+
{{status}} -
- -
{{errorMsg}}
{{errorDetails | json}}
- -

View/Edit Service Instance

- - +
+ +
{{errorMsg}}
{{errorDetails | json}}
+ +

{{isPermitted == "true" ? "View/Edit" : "View"}} Service Instance

+ +
@@ -58,191 +58,191 @@
- -
- -
    -
  1. -
    - - - - SERVICE INSTANCE: {{aService.instance.name}} - - - -
    - - -
    - - -
    - - - -
    - - - -
    -
      -
    1. -
      - - - - VNF: {{vnf.name}} | TYPE: {{vnf.nodeType}} | ORCH STATUS: {{vnf.nodeStatus}} - - - - -
      - - - -
      - - -
      - - - - -
      - -
      - - - -
      - -
      - - - - -
      - - - - - + +
      + +
        +
      1. +
        + + + + SERVICE INSTANCE: {{aService.instance.name}} + + + +
        + +
        -
          -
        1. -
          - - - - VFMODULE: {{vfModule.name}} | TYPE: {{vfModule.nodeType}} | ORCH STATUS: {{vfModule.nodeStatus}} - - - - -
          - -
          - - - + + +
          + + + +
          + + + +
          +
            +
          1. +
            + + + + VNF: {{vnf.name}} | TYPE: {{vnf.nodeType}} | ORCH STATUS: {{vnf.nodeStatus}} + + + + + +
            + + +
            -
              -
            1. -
              - VOLUME GROUP: {{volumeGroup.name}} | TYPE: {{volumeGroup.nodeType}} | ORCH STATUS: {{volumeGroup.nodeStatus}} - - - - -
              -
            2. -
            -
          2. -
          -
            -
          1. -
            - VOLUME GROUP: {{volumeGroup.name}} | TYPE: {{volumeGroup.nodeType}} | ORCH STATUS: {{volumeGroup.nodeStatus}} - - - - - - + + +
            + + + +
            -
          2. -
          -
        2. -
        -
          -
        1. -
          - NETWORK: {{network.name}} | TYPE: {{network.nodeType}} | ORCH STATUS: {{network.nodeStatus}} - - - - - - - - -
          -
        2. -
        -
      2. -
      + +
      + + +
      + +
      + + + + +
      + + + + + +
      +
        +
      1. +
        + + + + VFMODULE: {{vfModule.name}} | TYPE: {{vfModule.nodeType}} | ORCH STATUS: {{vfModule.nodeStatus}} + + + + +
        + +
        + + + +
        +
          +
        1. +
          + VOLUME GROUP: {{volumeGroup.name}} | TYPE: {{volumeGroup.nodeType}} | ORCH STATUS: {{volumeGroup.nodeStatus}} + + + + +
          +
        2. +
        +
      2. +
      +
        +
      1. +
        + VOLUME GROUP: {{volumeGroup.name}} | TYPE: {{volumeGroup.nodeType}} | ORCH STATUS: {{volumeGroup.nodeStatus}} + + + + + + +
        +
      2. +
      +
    2. +
    +
      +
    1. +
      + NETWORK: {{network.name}} | TYPE: {{network.nodeType}} | ORCH STATUS: {{network.nodeStatus}} + + + + + + + + +
      +
    2. +
    +
  2. +
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/msoCommit.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/msoCommit.htm index e3f415c4..48268248 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/msoCommit.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/msoCommit.htm @@ -41,7 +41,7 @@
{{log}}
-
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersion.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersion.htm new file mode 100644 index 00000000..dd604632 --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersion.htm @@ -0,0 +1,44 @@ +
+ +
+
+ +

{{componentName}} - {{createType}}

+
+ +
+ {{error}} +
+ + + + + + + + + + + + + + + + + + + + + + + +
ActionService NameService DescriptionService TypeService UUIDService Invariant UUIDService Version
+ + +
+ +
+
+
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersionDialog.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersionDialog.htm new file mode 100644 index 00000000..2912c70b --- /dev/null +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/previousVersionDialog.htm @@ -0,0 +1,48 @@ +
+ +
+
+ +

{{componentName}} - {{createType}}

+
+ +
+ {{error}} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActionUUIDInvariant UUIDNameVersionCategoryDistribution StatusLast Updated ByTosca Model
+ + +
+ +
+
+
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm index 00b8972f..3cba8719 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm +++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm @@ -19,6 +19,9 @@ --> +
+
+
@@ -34,7 +37,7 @@
Filter: - +

Browse SDC Service Models

@@ -57,7 +60,7 @@ - + @@ -66,7 +69,8 @@ - + +   -- cgit 1.2.3-korg