Modify license.
[vnfsdk/refrepo.git] / openo-portal / portal-catalog / src / main / webapp / catalog / js / package / pmUtil.js
1 /**\r
2  * Copyright 2016 [ZTE] and others.\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 \r
17 var pmUtil = {};\r
18 \r
19 pmUtil.changeStatus = function(csarId, status) {\r
20         pmUtil.changeTableStatus(csarId, "activating");\r
21     $.ajax({\r
22         type : "PUT",\r
23         url : vm.$restUrl.changePackageStatusUrl + csarId + "?csarName="  + "&status=" + status,\r
24         success : function() {\r
25             refreshByCond();\r
26         },\r
27         error : function() {\r
28                 refreshByCond();\r
29         }\r
30     });\r
31 }\r
32 \r
33 pmUtil.changeTableStatus = function(name, status) {\r
34         var table = $("#" + vm.$tableId).dataTable();\r
35         var tableData = table.fnGetData();\r
36         for (var i=0; i<tableData.length; i++) {\r
37         if(tableData[i]["name"] == name) {\r
38                 table.fnUpdate(status, i, 4, false, false);\r
39                 break;\r
40         }\r
41     }\r
42 }\r
43 \r
44 pmUtil.isRowDeletingStatus = function(name) {\r
45     var table = $("#" + vm.$tableId).dataTable();\r
46     var tableData = table.fnGetData();\r
47     for (var i=0; i<tableData.length; i++) {\r
48         if(tableData[i]["name"] == name && \r
49            tableData[i]["status"].indexOf($.i18n.prop("nfv-package-iui-status-deleting")) > -1) {\r
50             return true;            \r
51         }\r
52     }\r
53     return false;\r
54 }\r
55 \r
56 pmUtil.delPackage = function(csarId) {\r
57     if(pmUtil.isRowDeletingStatus(csarId)){\r
58         return;\r
59     }\r
60         bootbox.confirm($.i18n.prop("nfv-package-iui-message-delete-confirm"), function(result){\r
61                 if(result) {\r
62             pmUtil.changeTableStatus(csarId, "deleting");\r
63                         var url = vm.$restUrl.delPackageUrl + csarId;\r
64                         commonUtil.delete(url, function(resp) {\r
65                                 \r
66                         });\r
67                 }\r
68         });             \r
69 }\r
70 \r
71 pmUtil.isRowOnBoardingStatus = function(name) {\r
72     var table = $("#" + vm.$tableId).dataTable();\r
73     var tableData = table.fnGetData();\r
74     for (var i=0; i<tableData.length; i++) {\r
75         if(tableData[i]["name"] == name &&\r
76             tableData[i]["status"].indexOf($.i18n.prop("nfv-package-iui-status-onboarding")) > -1) {\r
77             return true;\r
78         }\r
79     }\r
80     return false;\r
81 }\r
82 \r
83 pmUtil.onBoardPackage = function(name) {\r
84     if(pmUtil.isRowOnBoardingStatus(name)){\r
85         return;\r
86     }\r
87     pmUtil.changeTableStatus(name, "onboarding");\r
88     var url = vm.$restUrl.delPackageUrl + "?csarName=" + name;\r
89     commonUtil.delete(url, function(resp) {\r
90     });\r
91 }\r
92 //query packages exist\r
93 //0: the package does not exist \r
94 //1: the package does not exist, but the instance cite this package\r
95 //2: the package exists\r
96 pmUtil.getExistPackageByName = function(name) {\r
97     var index = name.indexOf(".csar") || name.indexOf(".zip");\r
98     if(index > 0){\r
99         name = name.substring(0, index);\r
100     }\r
101     var result = $.ajax({\r
102         type : "GET",\r
103         url : vm.$restUrl.queryPackageInfoUrl + "?csarName=" + name,\r
104         async: false\r
105     });        \r
106     var data = result.responseJSON;\r
107     if(data != undefined && data.length == 0){\r
108         return 0;\r
109     }\r
110     var result = data[0];\r
111     if(result.deletionPending != undefined && result.deletionPending == "true"){                \r
112         return 1;\r
113     }            \r
114 \r
115     return 2;\r
116 }\r
117 \r
118 pmUtil.updateDeletedPackageStatus = function(message) {\r
119     if(message.status == "true" || message.status == "deletionPending") {                \r
120         commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-delete-success"), "success");\r
121         refreshByCond();\r
122     } else {\r
123         pmUtil.changeTableStatus(message.csarid, "deletefail");\r
124     }\r
125 }\r
126 \r
127 pmUtil.queryVimInfo = function() {\r
128     $.get(\r
129         vm.$restUrl.queryVimInfoUrl,\r
130         function (resp) {\r
131             if (resp.data) {\r
132                 vm.selectVim.vimSelectItems = resp.data || [{\r
133                         vimName: "test1",\r
134                         oid: "123456"\r
135                     },\r
136                         {\r
137                             vimName: "test2",\r
138                             oid: "987654"\r
139                         }];\r
140             }\r
141         },\r
142         "json"\r
143     )\r
144 }\r
145 \r
146 pmUtil.doOnBoard = function(url,param) {\r
147         $.ajax({\r
148             type : "POST",\r
149             url : url,\r
150             data : JSON.stringify(param),\r
151             contentType : "application/json",\r
152             dataType : "json",\r
153             success : function(resp) {\r
154                 if(resp.data.status == "failed") {\r
155                     commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoarded"), "failed");\r
156                 }\r
157                 refreshByCond();\r
158             },\r
159             error : function() {\r
160                 commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
161             }\r
162         });\r
163     }\r
164 \r
165 pmUtil.doNFAROnboard = function(extData) {\r
166     extData.csarId = vm.csarIdSelected;\r
167     $.ajax({\r
168         type : "POST",\r
169         url : vm.$restUrl.nfarOnboardUrl,\r
170         data : JSON.stringify(extData),\r
171         contentType : "application/json",\r
172         dataType : "json",\r
173         success : function(resp) {\r
174             refreshByCond();\r
175         },\r
176         error : function() {\r
177             commonUtil.showMessage($.i18n.prop("nfv-package-iui-message-onBoard-error"), "failed");\r
178         }\r
179     });\r
180 }\r