CLIENT GUI Framework
[vnfsdk/refrepo.git] / portal-catalog / src / main / webapp / catalog / js / package / pmUtil.js
1 /*\r
2  * Copyright 2016-2017 ZTE Corporation.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 var pmUtil = {};\r
17 \r
18 pmUtil.changeStatus = function(csarId, status) {\r
19         pmUtil.changeTableStatus(csarId, "activating");\r
20     $.ajax({\r
21         type : "PUT",\r
22         url : vm.$restUrl.changePackageStatusUrl + csarId + "?csarName="  + "&status=" + status,\r
23         success : function() {\r
24             refreshByCond();\r
25         },\r
26         error : function() {\r
27                 refreshByCond();\r
28         }\r
29     });\r
30 }\r
31 \r
32 pmUtil.changeTableStatus = function(csarId, status) {\r
33         var table = $("#" + vm.$tableId).dataTable();\r
34         var tableData = table.fnGetData();\r
35         for (var i=0; i<tableData.length; i++) {\r
36         if(tableData[i]["csarId"] == csarId) {\r
37                 table.fnUpdate(status, i, 4, false, false);\r
38                 break;\r
39         }\r
40     }\r
41 }\r
42 \r
43 //query packages exist\r
44 //0: the package does not exist \r
45 //1: the package does not exist, but the instance cite this package\r
46 //2: the package exists\r
47 pmUtil.getExistPackageByName = function(name) {\r
48     var index = name.indexOf(".csar") || name.indexOf(".zip");\r
49     if(index > 0){\r
50         name = name.substring(0, index);\r
51     }\r
52     var result = $.ajax({\r
53         type : "GET",\r
54         url : vm.$restUrl.queryPackageInfoUrl + "?name=" + name,\r
55         async: false\r
56     });        \r
57     var data = result.responseJSON;\r
58     if(data != undefined && data.length == 0){\r
59         return 0;\r
60     }\r
61     var result = data[0];\r
62     if(result.deletionPending != undefined && result.deletionPending == "true"){                \r
63         return 1;\r
64     }            \r
65 \r
66     return 2;\r
67 }\r
68 \r
69 pmUtil.updateDeletedPackageStatus = function(message) {\r
70     var messageobj = JSON.parse(message);\r
71     if(messageobj.status == "true" || messageobj.status == "deletionPending") {\r
72         commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-delete-success"), "success");\r
73         refreshByCond();\r
74     } else if (messageobj.status == "Delete package from HTTP server failed!") {\r
75         pmUtil.changeTableStatus(messageobj.csarid, "deletefail");\r
76         commonUtil.showMessage($.i18n.prop("nfv-package-iui-http-delete-error"), "failed");\r
77     } else if (messageobj.status == "Delete template data failed!") {\r
78         pmUtil.changeTableStatus(messageobj.csarid, "deletefail");\r
79         commonUtil.showMessage($.i18n.prop("nfv-package-iui-template-delete-error"), "failed");\r
80     } else if (messageobj.status == "Delete package data failed!") {\r
81         pmUtil.changeTableStatus(messageobj.csarid, "deletefail");\r
82         commonUtil.showMessage($.i18n.prop("nfv-package-iui-package-delete-error"), "failed");\r
83     } else if (messageobj.status == "false") {\r
84         pmUtil.changeTableStatus(messageobj.csarid, "deletefail");\r
85         commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-delete-error"), "failed");\r
86     }\r
87 }\r
88 \r
89 pmUtil.queryVimInfo = function() {\r
90     $.get(\r
91         vm.$restUrl.queryVimInfoUrl,\r
92         function (resp) {\r
93             if (resp.data) {\r
94                 vm.selectVim.vimSelectItems = resp.data || [{\r
95                         vimName: "test1",\r
96                         oid: "123456"\r
97                     },\r
98                         {\r
99                             vimName: "test2",\r
100                             oid: "987654"\r
101                         }];\r
102             }\r
103         },\r
104         "json"\r
105     )\r
106 }\r
107 \r
108 pmUtil.doOnBoard = function(url,param) {\r
109         $.ajax({\r
110             type : "POST",\r
111             url : url,\r
112             data : JSON.stringify(param),\r
113             contentType : "application/json",\r
114             dataType : "json",\r
115             success : function(resp) {\r
116                 if(resp != "" && resp.data.status == "failed") {\r
117                     commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
118                 } else {\r
119                     commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoarded"), "success");\r
120                 }\r
121                 refreshByCond();\r
122             },\r
123             error : function(resp) {\r
124                 if(resp != "" && resp.responseText == "success") {\r
125                     commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoarded"), "success");\r
126                     refreshByCond();\r
127                 } else {\r
128                     commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
129                 }\r
130             }\r
131         });\r
132     }\r
133 \r
134 pmUtil.doNFAROnboard = function(extData) {\r
135     extData.csarId = vm.csarIdSelected;\r
136     $.ajax({\r
137         type : "POST",\r
138         url : vm.$restUrl.nfarOnboardUrl,\r
139         data : JSON.stringify(extData),\r
140         contentType : "application/json",\r
141         dataType : "json",\r
142         success : function(resp) {\r
143             if(resp != "" && resp.data.status == "failed") {\r
144                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
145             } else {\r
146                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoarded"), "success");\r
147             }\r
148             refreshByCond();\r
149         },\r
150         error : function(resp) {\r
151             commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
152         }\r
153     });\r
154 }\r
155 \r
156 pmUtil.doSSAROnboard = function(url) {\r
157     $.ajax({\r
158         type : "PUT",\r
159         url : url,\r
160         contentType : "application/json",\r
161         success : function(resp) {\r
162             if(resp != "" && resp.data.status == "failed") {\r
163                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
164             } else {\r
165                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoarded"), "success");\r
166             }\r
167             refreshByCond();\r
168         },\r
169         error : function(resp) {\r
170             commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
171         }\r
172     });\r
173 }\r
174 \r
175 pmUtil.delPackage = function (url) {\r
176     $.ajax({\r
177         type : "DELETE",\r
178         url : url,\r
179         contentType : "application/json",\r
180         success : function(resp) {\r
181            \r
182         },\r
183         error : function(resp) {\r
184             if(resp.status == 202 || resp.responseText == "success") {\r
185 \r
186             } else {\r
187                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-delete-error"), "failed");\r
188                 refreshByCond();\r
189             }\r
190         }\r
191     });\r
192 }\r
193 \r
194 pmUtil.isRowDeletingStatus = function(csarId) {\r
195     var table = $("#" + vm.$tableId).dataTable();\r
196     var tableData = table.fnGetData();\r
197     for (var i=0; i<tableData.length; i++) {\r
198         if(tableData[i]["csarId"] == csarId && \r
199            tableData[i]["status"].indexOf($.i18n.prop("nfv-package-iui-status-deleting")) > -1) {\r
200             return true;            \r
201         }\r
202     }\r
203     return false;\r
204 }\r
205 \r
206 pmUtil.nameRender = function(obj) {\r
207     return '<a href="#" onclick="vm.packageDetail.$showDetails('\r
208         + '\'block\',\'' + obj.aData.csarId + '\', \'' + obj.aData.name + '\')">' + obj.aData.name + '</a>';\r
209 }\r
210 \r
211 pmUtil.onBoardRender = function(obj) {\r
212     var attr;\r
213     attr = 'class="label label-info status" data-toggle="tooltip" title="nfv-package-iui-status-tip"';\r
214     return '<span class="label label-info status" data-toggle="tooltip" title="nfv-package-iui-status-tip" onclick="vm.onBoardPackage(\'' + obj.aData.csarId\r
215         + '\',\''+ obj.aData.type + '\', \''+ obj.aData.onBoardState +'\')">' + obj.aData.onBoardState + '</span>';\r
216 }\r
217 \r
218 pmUtil.operationRender = function(obj) {\r
219     return '<a href="#" class="btn-xs grey btn-editable" onclick="vm.$delPackage(\'' + obj.aData.csarId\r
220         + '\',\''+ obj.aData.type + '\')">' + '<i class=\"ict-delete\"></i>' + $.i18n.prop('nfv-software-iui-action-delete') + '</a>';\r
221 }