Global Read only role, Support VID specific Roles
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / constants / fieldConstants.js
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * VID\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 "use strict";\r
22 \r
23 appDS2.factory("FIELD", ["PARAMETER", function (PARAMETER) {\r
24 \r
25     /*\r
26      * ID values are typically used internally.\r
27      */\r
28     var ID = {\r
29         AVAILABLE_VOLUME_GROUP: "availableVolumeGroup",\r
30         INSTANCE_NAME: "instanceName",\r
31         LCP_REGION: "lcpRegion",\r
32         LCP_REGION_TEXT: "lcpRegionText",\r
33         PRODUCT_FAMILY: "productFamily",\r
34         AIC_ZONES : "aic_zone",\r
35         SERVICE_TYPE: "serviceType",\r
36         SERVICE_ROLE: "serviceRole",\r
37         SUBSCRIBER_NAME: "subscriberName",\r
38         SUPPRESS_ROLLBACK: "suppressRollback",\r
39         TENANT: "tenant",\r
40         VNF_TARGETPROVSTATUS: "target",\r
41 \r
42         AAI_GET_FULL_SUBSCRIBERS: "aai_get_full_subscribers",\r
43         AAI_REFRESH_FULL_SUBSCRIBERS: "aai_refresh_full_subscribers",\r
44         AAI_GET_SERVICES: "aai_get_services",\r
45         AAI_GET_SUBSCRIBERS: "aai_get_subscribers",\r
46         AAI_GET_TENTANTS: "aai_get_tenants",\r
47         AAI_REFRESH_SUBSCRIBERS: "aai_refresh_subscribers",\r
48         AAI_SUB_DETAILS: "aai_sub_details",\r
49         AAI_SUB_VIEWEDIT: "aai_sub_viewedit",\r
50         ANGULAR_UI_TREE_COLLAPSEALL: "angular-ui-tree:collapse-all",\r
51         ANGULAR_UI_TREE_EXPANDALL: "angular-ui-tree:expand-all",\r
52         CATEGORY: "category",\r
53         COLOR_8F8: "#8F8",\r
54         COLOR_F88: "#F88",\r
55         COLOR_NONE: "none",\r
56         CUSTOMER: "customer",\r
57         CUSTOMIZATION_UUID: "customizationUuid",\r
58         DESCRIPTION: "description",\r
59         GENERIC_VNF: "generic-vnf",\r
60         GLOBAL_CUSTOMER_ID: "global-customer-id",\r
61         GLOBAL_CUST_ID: "globalCustomerId",\r
62         IN_MAINT: "in-maint",\r
63         INVENTORY_RESPONSE_ITEMS: "inventory-response-items",\r
64         INVENTORY_RESPONSE_ITEM: "inventory-response-item",\r
65         L3_NETWORK: "l3-network",\r
66         SUB_NET: "subnet",\r
67         SUBNET_NAME: "subnet-name",\r
68         SUBNET_ID: "subnet-id",\r
69         GATEWAY_ADDRESS: "gateway-address",\r
70         NETWORK_START_ADDRESS: "network-start-address",\r
71         CIDR_MASK: "cidr-mask",\r
72         MODEL_CUSTOMIZATION_ID: "model-customization-id",\r
73         MODEL_CUSTOMIZATION_NAME: "modelCustomizationName",\r
74         MODEL_INVARIANT_ID: "modelInvariantId",\r
75         MODEL_INVAR_ID: "model-invariant-id",\r
76         MODEL_NAME: "modelName",\r
77         MODEL_NAME_VERSION_ID: "modelNameVersionId",\r
78         MODEL_VERSION: "modelVersion",\r
79         MODEL_VERSION_ID: "model-version-id",\r
80         NETWORK_NAME: "network-name",\r
81         NETWORK_ID: "network-id",\r
82         NETWORK_TYPE: "network-type",\r
83         NETWORKS: "networks",\r
84         OPERATIONAL_STATUS: "operational-status",\r
85         ORCHESTRATION_STATUS: "orchestration-status",\r
86         PERCENT_PROGRESS: "precentProgress",\r
87         PERSONA_MODEL_ID: "persona-model-id",\r
88         PERSONA_MODEL_VERSION: "persona-model-version",\r
89         PERSONA_MODEL_CUSTOMIZATION_ID: "persona-model-customization-id",\r
90         PROV_STATUS: "prov-status",\r
91         REQUEST: "request",\r
92         REQUEST_ID: "requestId",\r
93         REQUEST_LIST: "requestList",\r
94         REQUEST_TYPE: "requestType",\r
95         REQUEST_REFERENCES: "requestReferences",\r
96         REQUEST_STATE: "requestState",\r
97         REQUEST_STATUS: "requestStatus",\r
98         RESOURCE_LINK: "resource-link",\r
99         RESULT_DATA: "result-data",\r
100         SERVICE_DESCRIPTION: "service-description",\r
101         SERVICE_ID: "service-id",\r
102         SERVICE_INSTANCE: "service-instance",\r
103         SERVICE_INSTANCES: "service-instances",\r
104         SERVICE_INSTANCE_ID: "service-instance-id",\r
105         SERVICE_INSTANCE_NAME: "service-instance-name",\r
106         SERVICE_SUBSCRIPTION: "service-subscription",\r
107         SERVICE_SUBSCRIPTIONS: "service-subscriptions",\r
108         SERVICETYPE: "service-type",\r
109         STATUS_MESSAGE: "statusMessage",\r
110         SUBNAME: "subscriber-name",\r
111         IS_PERMITTED: "is-permitted",\r
112         TIMESTAMP: "timestamp",\r
113         VF_MODULE: "vf-module",\r
114         VF_MODULES: "vfModules",\r
115         VF_MODULE_ID: "vf-module-id",\r
116         VF_MODULE_NAME: "vf-module-name",\r
117         VID: "VID",\r
118         VNF_ID: "vnf-id",\r
119         VNF_NAME: "vnf-name",\r
120         VNF_TYPE: "vnf-type",\r
121         VNFS: "vnfs",\r
122         AVAILABLEVOLUMEGROUPS: "availableVolumeGroups",\r
123         VOLUMEGROUPS: "volumeGroups",\r
124         VOLUME_GROUP: "volume-group",\r
125         VOLUME_GROUP_ID: "volume-group-id",\r
126         VOLUME_GROUP_NAME: "volume-group-name",\r
127         SDN_C_PRELOAD: "sdncPreload",\r
128         UPLOAD_SUPPLEMENTORY_DATA_FILE: "uploadSupplementoryDataFile",\r
129         SUPPLEMENTORY_DATA_FILE: "supplementoryDataFile",\r
130         ZONE_ID:"zone-id",\r
131         ZONE_NAME:"zone-name",\r
132 \r
133     };\r
134 \r
135     var KEY = {\r
136         LCP_REGION_TEXT: "AAIAIC25"\r
137     };\r
138 \r
139     /*\r
140      * NAME values are displayed on GUI pages.\r
141      */\r
142     var NAME = {\r
143         AVAILABLE_VOLUME_GROUP : "Available Volume Group",\r
144         INSTANCE_NAME : "Instance Name",\r
145         CUSTOMER_ID : "Customer ID",\r
146         LCP_REGION : "LCP Region",\r
147         LCP_REGION_TEXT : "Legacy Region",\r
148         MODEL_INVARIANT_UUID: "Model Invariant UUID",\r
149         MODEL_NAME: "Model Name",\r
150         MODEL_VERSION: "Model Version",\r
151         MODEL_UUID: "Model UUID",\r
152         MODEL_CUSTOMIZATION_UUID: "Model Customization UUID",\r
153         MODEL_VNF_TYPE: "NF Type",\r
154         MODEL_VNF_ROLE: "NF Role",\r
155         MODEL_VNF_FUNCTION: "NF Function",\r
156         MODEL_VNF_CODE: "NF Naming Code",\r
157         MODEL_CUSTOMIZATION_NAME: "Resource Name",\r
158         PRODUCT_FAMILY : "Product Family",\r
159         AIC_ZONES: "AIC Zone",\r
160         RESOURCE_DESCRIPTION : "Resource Description",\r
161         RESOURCE_NAME : "Resource Name",\r
162         SERVICE_CATEGORY : "Service Category",\r
163         SERVICE_DESCRIPTION : "Service Description",\r
164         SERVICE_INSTANCE_ID : "Service Instance ID",\r
165         SERVICE_INSTANCE_Id : "Service Instance Id",\r
166         SERVICE_INSTANCE_NAME : "Service Instance Name",\r
167         SERVICE_INVARIANT_UUID : "Service Invariant UUID",\r
168         SERVICE_NAME : "Service Name",\r
169         SERVICE_TYPE : "Service Type",\r
170         SERVICE_UUID : "Service UUID",\r
171         SERVICE_VERSION : "Service Version",\r
172         SUBSCRIBER_NAME : "Subscriber Name",\r
173         MOBILITY :  "Mobility",\r
174         SUPPRESS_ROLLBACK : "Suppress Rollback on Failure",\r
175         SDN_C_PRELOAD : "SDN-C Pre-Load",\r
176         UPLOAD_SUPPLEMENTORY_DATA_FILE : "Upload Supplementary Data file",\r
177         SUPPLEMENTORY_DATA_FILE : "Supplementory Data file (JSON format)",\r
178         TENANT : "Tenant",\r
179         USER_SERVICE_INSTANCE_NAME : "User Service Instance Name",\r
180         VF_MODULE_DESCRIPTION : "VF Module Description",\r
181         VF_MODULE_LABEL : "VF Module Label",\r
182         VF_MODULE_TYPE : "VF Module Type",\r
183         VNF_ORCHESTRATION_STATUS : "Orchestration Status",\r
184         VNF_Operational_Status: "Operational Status",\r
185         VNF_Current_Prov_Status: "Current Prov_Status",\r
186         VNF_Target_Prov_Status: "Target Prov Status",\r
187         VNF_VNF_ID : "VNF ID",\r
188         VNF_VNF_Name: "VNF Name",\r
189         VNF_VNF_Type: "VNF Type",\r
190         VNF_Service_ID: "Service ID",\r
191         VNF_In_Maint: "In Maint",\r
192         VFMDULE_CUSTOMIZATIONUUID: "VF Module Model Customization UUID",\r
193         RESOURCE_CUSTOMIZATION_UUID: "Resource Model Customization UUID"\r
194     };\r
195 \r
196     /*\r
197      * PROMPT values are initial values displayed in select lists.\r
198      */\r
199     var PROMPT = {\r
200         AVAILABLE_VOLUME_GROUP: "Select Volume Group",\r
201         DEFAULT_A: "A default",\r
202         DEFAULT_B: "B default",\r
203         LCP_REGION: "Select LCP Region",\r
204         NO_SERVICE_INSTANCE: "No Service Instance Found",\r
205         NO_SERVICE_SUB: "No Service Subscription Found",\r
206         PRODUCT_FAMILY: "Select Product Family",\r
207         AIC_ZONES: "Select AIC Zone",\r
208         REGION: "Please choose a region",\r
209         SERVICE_TYPE: "Select Service Type",\r
210         SUBSCRIBER_NAME: "Select Subscriber Name",\r
211         TARGETPROVSTATUS: "Select Target Prov Status",\r
212         TENANT: "Select Tenant Name",\r
213         TEXT_INPUT: "Enter data",\r
214         SELECT_SERVICE: "Select a service type",\r
215         SELECT_SUB: "Select a subscriber name",\r
216         FETCHING_SUBS: " Fetching subscriber list from A&AI",\r
217         REFRESH_SUB_LIST: "Refreshing subscriber list from A&AI...",\r
218         VAR_DESCRIPTION_A: "This variable is 'a'",\r
219         VAR_DESCRIPTION_B: "This variable is 'b'",\r
220 \r
221     };\r
222 \r
223     var STATUS = {\r
224         // Status\r
225         ALL: "ALL",\r
226         COMPLETE: "Complete",\r
227         DONE: "Done",\r
228         ERROR: "Error",\r
229         FAILED: "Failed",\r
230         FAILED_SERVICE_MODELS_ASDC: "Failed to get service models from SDC.",\r
231         FETCHING_SERVICE_TYPES: "Fetching service types list from A&AI",\r
232         FETCHING_SERVICE_CATALOG: "Fetching service catalog from AAI.  Please wait.",\r
233         FETCHING_SERVICE_CATALOG_ASDC: "Fetching service catalog from SDC.  Please wait.",\r
234         FETCHING_SUB_DETAILS: "Fetching subscriber details from A&AI for ",\r
235         FETCHING_SERVICE_INST_DATA: "Fetching service instance data from A&AI for service-instance-id=",\r
236         FETCHING_SUBSCRIBER_LIST_AAI: "Fetching subscriber list from A&AI...",\r
237         IN_PROGRESS: "In Progress",\r
238         IS_SUCCESSFUL: " isSuccessful: ",\r
239         MSO_FAILURE: "msoFailure",\r
240         NONE: "None",\r
241         NOT_FOUND: "Not Found",\r
242         NO_SERVICE_SUBSCRIPTION_FOUND: "No Service Subscription Found",\r
243         SUBMITTING_REQUEST: "Submitting Request",\r
244         SUCCESS_VNF_PROV_STATUS: "Successfully set the VNF's Prov_Status to ",\r
245         UNLOCKED: "Unlocked",\r
246 \r
247     };\r
248 \r
249     var STYLE = {\r
250         TABLE: "width: auto; margin: 0 auto; border-collapse: collapse; border: none;",\r
251         NAME: "width: 220px; text-align: left; vertical-align: middle; font-weight: bold; padding: 3px 5px; border: none;",\r
252         VALUE: "width: 400px; text-align: left; vertical-align: middle; padding: 3px 5px; border: none;",\r
253         CHECKBOX_VALUE: "width: 400px; text-align: center; vertical-align: middle; padding: 3px 5px; border: none;",\r
254         TEXT_INPUT: "height: 25px; padding: 2px 5px;",\r
255         CHECKBOX_INPUT: "height: 18px; width: 18px; padding: 2px 5px;",\r
256         SELECT: "height: 25px; padding: 2px; text-align: center;",\r
257         REQUIRED_LABEL: "width: 25px; padding: 5px 10px 10px 5px;",\r
258 \r
259         DISABLED: "disabled",\r
260         BTN_INACTIVE: "button--inactive",\r
261         BTN_PRIMARY: "button--primary",\r
262         BTN_TYPE: "btn-type",\r
263         MSO_CTRL_BTN: "div[ng-controller=msoCommitController] button",\r
264         PRIMARY: "primary",\r
265         PROGRESS_BAR_INFO: "progress-bar progress-bar-info",\r
266         PROGRESS_BAR_SUCCESS: "progress-bar progress-bar-success",\r
267     }\r
268 \r
269     var ERROR = {\r
270                 AAI : "A&AI failure - see log below for details",\r
271                 AAI_ERROR : "A&AI Error",\r
272                 AAI_FETCHING_CUST_DATA : "Failed to fetch customer data from A&AI: Response Code: ",\r
273                 FETCHING_SERVICE_TYPES : "Failed to fetch service types from A&AI: Response Code: ",\r
274                 FETCHING_SERVICES : "Failed to fetch services from A&AI: Response Code: ",\r
275                 FETCHING_SERVICE_INSTANCE_DATA : "Failed to fetch service instance data from A&AI: Response Code: ",\r
276                 INVALID_INSTANCE_NAME : "Invalid instance name: ",\r
277                 INSTANCE_NAME_VALIDATE : "The instance name must contain only alphanumeric or \"_-.\" characters, and must start with an alphabetic character", \r
278                 INVALID_LIST : "Invalid list parameter: ",\r
279                 INVALID_MAP : "Invalid map parameter: ",\r
280                 LIST_VALIDATE : "A list parameter value must have the following syntax: '[<value1>,\.\.\.,<valueN>]'",\r
281                 MAP_VALIDATE : "A map parameter value must have the following syntax: '{ <entry_key_1>: <entry_value_1>, \.\.\., <entry_key_n>: <entry_value_n> }'",\r
282                 MAX_POLLS_EXCEEDED : "Maximum number of poll attempts exceeded",\r
283                 MISSING_DATA : "Missing data",\r
284                 MODEL_VERSION_ID_MISSING : "Error: model-version-id is not populated in A&AI",\r
285                 MSO : "MSO failure - see log below for details",\r
286                 NO_MATCHING_MODEL : "No matching model found matching the persona Model Id = ",\r
287                 NO_MATCHING_MODEL_AAI : "No matching model found matching the A&AI model version ID = ",\r
288                 SELECT : "Please select a subscriber or enter a service instance", \r
289                 SERVICE_INST_DNE : "That service instance does not exist.  Please try again.",\r
290                 SYSTEM_FAILURE : "System failure",\r
291                 INVALID_DATA_FORMAT : 'Invalid data format.Please check your file content whether it is not in json or not.',\r
292                 MISSING_FILE : 'Please Select JSON File.',\r
293 \r
294     }\r
295 \r
296     /*\r
297      * PARAMETER values indicate field configurations that are provided to\r
298      * parameter block directives.\r
299      */\r
300 \r
301     var PARAMETER = {\r
302         AVAILABLE_VOLUME_GROUP: {\r
303             name: NAME.AVAILABLE_VOLUME_GROUP,\r
304             id: ID.AVAILABLE_VOLUME_GROUP,\r
305             type: PARAMETER.SELECT,\r
306             prompt: PROMPT.AVAILABLE_VOLUME_GROUP,\r
307             isRequired: true\r
308         },\r
309         INSTANCE_NAME: {\r
310             name: NAME.INSTANCE_NAME,\r
311             id: ID.INSTANCE_NAME,\r
312             isRequired: true\r
313         },\r
314         LCP_REGION: {\r
315             name: NAME.LCP_REGION,\r
316             id: ID.LCP_REGION,\r
317             type: PARAMETER.SELECT,\r
318             prompt: PROMPT.LCP_REGION,\r
319             isRequired: true\r
320         },\r
321         VNF_TARGET_PROVSTATUS: {\r
322             name: NAME.VNF_Target_Prov_Status,\r
323             id: ID.VNF_TARGETPROVSTATUS,\r
324             type: PARAMETER.SELECT,\r
325             prompt: PROMPT.TARGETPROVSTATUS,\r
326             isRequired: true\r
327         },\r
328         LCP_REGION_TEXT_HIDDEN: {\r
329             id: ID.LCP_REGION_TEXT,\r
330             isVisible: false\r
331         },\r
332         LCP_REGION_TEXT_VISIBLE: {\r
333             name: NAME.LCP_REGION_TEXT,\r
334             id: ID.LCP_REGION_TEXT,\r
335             isRequired: true,\r
336             isVisible: true\r
337         },\r
338         PRODUCT_FAMILY: {\r
339             name: NAME.PRODUCT_FAMILY,\r
340             id: ID.PRODUCT_FAMILY,\r
341             type: PARAMETER.SELECT,\r
342             prompt: PROMPT.PRODUCT_FAMILY,\r
343             isRequired: true\r
344         },\r
345         AIC_ZONES: {\r
346             name: NAME.AIC_ZONES,\r
347             id: ID.AIC_ZONES,\r
348             type: PARAMETER.SELECT,\r
349             prompt: PROMPT.AIC_ZONES,\r
350             isRequired: false\r
351         },\r
352         SERVICE_TYPE: {\r
353             name: NAME.SERVICE_TYPE,\r
354             id: ID.SERVICE_TYPE,\r
355             type: PARAMETER.SELECT,\r
356             prompt: PROMPT.SERVICE_TYPE,\r
357             isRequired: true\r
358         },\r
359         SERVICE_TYPE_DISABLED: {\r
360             name: NAME.SERVICE_TYPE,\r
361             id: ID.SERVICE_TYPE,\r
362             type: PARAMETER.SELECT,\r
363             isEnabled: false,\r
364             isRequired: true\r
365         },\r
366         SUPPRESS_ROLLBACK: {\r
367             name: NAME.SUPPRESS_ROLLBACK,\r
368             id: ID.SUPPRESS_ROLLBACK,\r
369             type: PARAMETER.BOOLEAN,\r
370             value: false\r
371         },\r
372         SDN_C_PRELOAD_CHECKED: {\r
373             name: NAME.SDN_C_PRELOAD,\r
374             id: ID.SDN_C_PRELOAD,\r
375             type: PARAMETER.CHECKBOX,\r
376             value: true,\r
377             isVisible: true,\r
378             isRequired: false\r
379         },\r
380         SDN_C_PRELOAD_UNCHECKED: {\r
381             name: NAME.SDN_C_PRELOAD,\r
382             id: ID.SDN_C_PRELOAD,\r
383             type: PARAMETER.CHECKBOX,\r
384             value: false,\r
385             isVisible: true,\r
386             isRequired: false\r
387         },\r
388         UPLOAD_SUPPLEMENTORY_DATA_FILE_CHECKED: {\r
389             name: NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
390             id: ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
391             type: PARAMETER.CHECKBOX,\r
392             value: true,\r
393             isVisible: true,\r
394             isRequired: false\r
395         },\r
396         UPLOAD_SUPPLEMENTORY_DATA_FILE_UNCHECKED: {\r
397             name: NAME.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
398             id: ID.UPLOAD_SUPPLEMENTORY_DATA_FILE,\r
399             type: PARAMETER.CHECKBOX,\r
400             value: false,\r
401             isVisible: true,\r
402             isRequired: false\r
403         },\r
404         SUPPLEMENTORY_DATA_FILE: {\r
405             name: NAME.SUPPLEMENTORY_DATA_FILE,\r
406             id: ID.SUPPLEMENTORY_DATA_FILE,\r
407             type: PARAMETER.FILE,\r
408             isRequired: false,\r
409             isVisible: true,\r
410             fileData: ''\r
411         },\r
412 \r
413         SUBSCRIBER_NAME: {\r
414             name: NAME.SUBSCRIBER_NAME,\r
415             id: ID.SUBSCRIBER_NAME,\r
416             type: PARAMETER.SELECT,\r
417             prompt: PROMPT.SUBSCRIBER_NAME,\r
418                 isRequired : true,\r
419                 isSingleOptionAutoSelected : false\r
420         },\r
421         TENANT_DISABLED: {\r
422             name: NAME.TENANT,\r
423             id: ID.TENANT,\r
424             type: PARAMETER.SELECT,\r
425             isEnabled: false,\r
426             isRequired: true\r
427         },\r
428         TENANT_ENABLED: {\r
429             name: NAME.TENANT,\r
430             id: ID.TENANT,\r
431             type: PARAMETER.SELECT,\r
432             isEnabled: true,\r
433             prompt: PROMPT.TENANT,\r
434             isRequired: true\r
435         }\r
436     };\r
437 \r
438     return {\r
439         ID: ID,\r
440         KEY: KEY,\r
441         NAME: NAME,\r
442         PARAMETER: PARAMETER,\r
443         PROMPT: PROMPT,\r
444         STATUS: STATUS,\r
445         STYLE: STYLE,\r
446         ERROR: ERROR,\r
447     }\r
448 }]);\r