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