|
24 | 24 | notification: function(args) { |
25 | 25 | return 'Domain is deleted'; |
26 | 26 | } |
27 | | - }, |
| 27 | + }, |
28 | 28 |
|
29 | 29 | createForm: { |
30 | | - title: 'Delete domain', |
31 | | - preFilter: function(args) { |
| 30 | + title: 'Delete domain', |
| 31 | + createLabel: 'Delete', |
| 32 | + preFilter: function(args) { |
32 | 33 | if(isAdmin()) { |
33 | 34 | args.$form.find('.form-item[rel=isForced]').css('display', 'inline-block'); |
34 | 35 | } |
35 | | - }, |
| 36 | + }, |
36 | 37 | fields: { |
37 | 38 | isForced: { |
38 | 39 | label: 'Force delete', |
|
43 | 44 | }, |
44 | 45 |
|
45 | 46 | action: function(args) { |
46 | | - var array1 = []; |
| 47 | + var array1 = []; |
47 | 48 | if(args.$form.find('.form-item[rel=isForced]').css("display") != "none") //uncomment after Brian fix it to include $form in args |
48 | 49 | array1.push("&cleanup=" + (args.data.isForced == "on")); |
49 | 50 |
|
|
58 | 59 | {jobId: jid} |
59 | 60 | } |
60 | 61 | ); |
| 62 | + |
| 63 | + // Quick fix for proper UI reaction to delete domain |
| 64 | + var $item = $('.name.selected').closest('li'); |
| 65 | + var $itemParent = $item.closest('li'); |
| 66 | + $itemParent.parent().parent().find('.name:first').click(); |
| 67 | + $item.remove(); |
61 | 68 | } |
62 | 69 | }); |
63 | 70 | }, |
|
70 | 77 | edit: { |
71 | 78 | label: 'Edit domain details', |
72 | 79 | messages: { |
73 | | - notification: function(args) { |
| 80 | + notification: function(args) { |
74 | 81 | return 'Edited domain: ' + args.name; |
75 | 82 | } |
76 | 83 | }, |
77 | | - action: function(args) { |
78 | | - var domainObj; |
79 | | - |
| 84 | + action: function(args) { |
| 85 | + var domainObj; |
| 86 | + |
80 | 87 | $.ajax({ |
81 | 88 | url: createURL("updateDomain&id=" + args.context.domains[0].id + "&name=" + todb(args.data.name)), |
82 | 89 | async: false, |
83 | 90 | dataType: "json", |
84 | | - success: function(json) { |
| 91 | + success: function(json) { |
85 | 92 | domainObj = json.updatedomainresponse.domain; |
86 | 93 | } |
87 | | - }); |
| 94 | + }); |
88 | 95 |
|
89 | 96 | $.ajax({ |
90 | 97 | url: createURL("updateResourceLimit&domainid=" + args.context.domains[0].id + "&resourceType=0&max=" + args.data.vmLimit), |
91 | 98 | dataType: "json", |
92 | 99 | async: false, |
93 | | - success: function(json) { |
94 | | - domainObj["vmLimit"] = args.data.vmLimit; |
| 100 | + success: function(json) { |
| 101 | + domainObj["vmLimit"] = args.data.vmLimit; |
95 | 102 | } |
96 | | - }); |
| 103 | + }); |
97 | 104 | $.ajax({ |
98 | 105 | url: createURL("updateResourceLimit&domainid=" + args.context.domains[0].id + "&resourceType=1&max=" + args.data.ipLimit), |
99 | 106 | dataType: "json", |
100 | 107 | async: false, |
101 | | - success: function(json) { |
102 | | - domainObj["ipLimit"] = args.data.ipLimit; |
| 108 | + success: function(json) { |
| 109 | + domainObj["ipLimit"] = args.data.ipLimit; |
103 | 110 | } |
104 | | - }); |
| 111 | + }); |
105 | 112 | $.ajax({ |
106 | 113 | url: createURL("updateResourceLimit&domainid=" + args.context.domains[0].id + "&resourceType=2&max=" + args.data.volumeLimit), |
107 | 114 | dataType: "json", |
108 | 115 | async: false, |
109 | | - success: function(json) { |
110 | | - domainObj["volumeLimit"] = args.data.volumeLimit; |
| 116 | + success: function(json) { |
| 117 | + domainObj["volumeLimit"] = args.data.volumeLimit; |
111 | 118 | } |
112 | | - }); |
| 119 | + }); |
113 | 120 | $.ajax({ |
114 | 121 | url: createURL("updateResourceLimit&domainid=" + args.context.domains[0].id + "&resourceType=3&max=" + args.data.snapshotLimit), |
115 | 122 | dataType: "json", |
116 | 123 | async: false, |
117 | | - success: function(json) { |
118 | | - domainObj["snapshotLimit"] = args.data.snapshotLimit; |
| 124 | + success: function(json) { |
| 125 | + domainObj["snapshotLimit"] = args.data.snapshotLimit; |
119 | 126 | } |
120 | 127 | }); |
121 | 128 | $.ajax({ |
122 | 129 | url: createURL("updateResourceLimit&domainid=" + args.context.domains[0].id + "&resourceType=4&max=" + args.data.templateLimit), |
123 | 130 | dataType: "json", |
124 | 131 | async: false, |
125 | | - success: function(json) { |
126 | | - domainObj["templateLimit"] = args.data.templateLimit; |
| 132 | + success: function(json) { |
| 133 | + domainObj["templateLimit"] = args.data.templateLimit; |
127 | 134 | } |
128 | 135 | }); |
129 | | - |
| 136 | + |
130 | 137 | args.response.success({data: domainObj}); |
131 | 138 | } |
132 | 139 | }, |
|
181 | 188 | }, |
182 | 189 | { |
183 | 190 | id: { label: 'ID' }, |
184 | | - vmLimit: { |
| 191 | + vmLimit: { |
185 | 192 | label: 'Instance limits', |
186 | 193 | isEditable: true |
187 | 194 | }, |
188 | | - ipLimit: { |
| 195 | + ipLimit: { |
189 | 196 | label: 'Public IP limits', |
190 | 197 | isEditable: true |
191 | 198 | }, |
192 | | - volumeLimit: { |
| 199 | + volumeLimit: { |
193 | 200 | label: 'Volume limits', |
194 | 201 | isEditable: true |
195 | 202 | }, |
196 | | - snapshotLimit: { |
| 203 | + snapshotLimit: { |
197 | 204 | label: 'Snapshot limits', |
198 | 205 | isEditable: true |
199 | 206 | }, |
200 | | - templateLimit: { |
| 207 | + templateLimit: { |
201 | 208 | label: 'Template limits', |
202 | 209 | isEditable: true |
203 | 210 | }, |
|
206 | 213 | volumeTotal: { label: 'Volumes' } |
207 | 214 | } |
208 | 215 | ], |
209 | | - dataProvider: function(args) { |
210 | | - var domainObj = args.context.domains[0]; |
211 | | - $.ajax({ |
| 216 | + dataProvider: function(args) { |
| 217 | + var domainObj = args.context.domains[0]; |
| 218 | + $.ajax({ |
212 | 219 | url: createURL("listAccounts&domainid=" + domainObj.id), |
213 | 220 | async: false, |
214 | 221 | dataType: "json", |
215 | | - success: function(json) { |
216 | | - var items = json.listaccountsresponse.account; |
| 222 | + success: function(json) { |
| 223 | + var items = json.listaccountsresponse.account; |
217 | 224 | var total; |
218 | | - if (items != null) |
219 | | - total = items.length; |
| 225 | + if (items != null) |
| 226 | + total = items.length; |
220 | 227 | else |
221 | | - total = 0; |
222 | | - domainObj["accountTotal"] = total; |
223 | | - } |
224 | | - }); |
225 | | - |
226 | | - $.ajax({ |
| 228 | + total = 0; |
| 229 | + domainObj["accountTotal"] = total; |
| 230 | + } |
| 231 | + }); |
| 232 | + |
| 233 | + $.ajax({ |
227 | 234 | url: createURL("listVirtualMachines&domainid=" + domainObj.id), |
228 | 235 | async: false, |
229 | 236 | dataType: "json", |
230 | | - success: function(json) { |
231 | | - var items = json.listvirtualmachinesresponse.virtualmachine; |
| 237 | + success: function(json) { |
| 238 | + var items = json.listvirtualmachinesresponse.virtualmachine; |
232 | 239 | var total; |
233 | | - if (items != null) |
234 | | - total = items.length; |
| 240 | + if (items != null) |
| 241 | + total = items.length; |
235 | 242 | else |
236 | | - total = 0; |
237 | | - domainObj["vmTotal"] = total; |
238 | | - } |
239 | | - }); |
240 | | - |
241 | | - $.ajax({ |
| 243 | + total = 0; |
| 244 | + domainObj["vmTotal"] = total; |
| 245 | + } |
| 246 | + }); |
| 247 | + |
| 248 | + $.ajax({ |
242 | 249 | url: createURL("listVolumes&domainid=" + domainObj.id), |
243 | 250 | async: false, |
244 | 251 | dataType: "json", |
245 | | - success: function(json) { |
246 | | - var items = json.listvolumesresponse.volume; |
| 252 | + success: function(json) { |
| 253 | + var items = json.listvolumesresponse.volume; |
247 | 254 | var total; |
248 | | - if (items != null) |
249 | | - total = items.length; |
| 255 | + if (items != null) |
| 256 | + total = items.length; |
250 | 257 | else |
251 | | - total = 0; |
252 | | - domainObj["volumeTotal"] = total; |
253 | | - } |
254 | | - }); |
255 | | - |
| 258 | + total = 0; |
| 259 | + domainObj["volumeTotal"] = total; |
| 260 | + } |
| 261 | + }); |
| 262 | + |
256 | 263 | $.ajax({ |
257 | 264 | url: createURL("listResourceLimits&domainid=" + domainObj.id), |
258 | 265 | async: false, |
259 | 266 | dataType: "json", |
260 | 267 | success: function(json) { |
261 | | - var limits = json.listresourcelimitsresponse.resourcelimit; |
262 | | - if (limits != null) { |
| 268 | + var limits = json.listresourcelimitsresponse.resourcelimit; |
| 269 | + if (limits != null) { |
263 | 270 | for (var i = 0; i < limits.length; i++) { |
264 | 271 | var limit = limits[i]; |
265 | 272 | switch (limit.resourcetype) { |
266 | | - case "0": |
267 | | - domainObj["vmLimit"] = limit.max; |
| 273 | + case "0": |
| 274 | + domainObj["vmLimit"] = limit.max; |
268 | 275 | break; |
269 | | - case "1": |
270 | | - domainObj["ipLimit"] = limit.max; |
| 276 | + case "1": |
| 277 | + domainObj["ipLimit"] = limit.max; |
271 | 278 | break; |
272 | | - case "2": |
273 | | - domainObj["volumeLimit"] = limit.max; |
| 279 | + case "2": |
| 280 | + domainObj["volumeLimit"] = limit.max; |
274 | 281 | break; |
275 | | - case "3": |
276 | | - domainObj["snapshotLimit"] = limit.max; |
| 282 | + case "3": |
| 283 | + domainObj["snapshotLimit"] = limit.max; |
277 | 284 | break; |
278 | | - case "4": |
279 | | - domainObj["templateLimit"] = limit.max; |
| 285 | + case "4": |
| 286 | + domainObj["templateLimit"] = limit.max; |
280 | 287 | break; |
281 | 288 | } |
282 | 289 | } |
283 | | - } |
284 | | - } |
285 | | - }); |
286 | | - |
| 290 | + } |
| 291 | + } |
| 292 | + }); |
| 293 | + |
287 | 294 | args.response.success({ |
288 | 295 | data: domainObj, |
289 | 296 | actionFilter: domainActionfilter |
290 | 297 | }); |
291 | 298 | } |
292 | | - } |
| 299 | + } |
293 | 300 | } |
294 | 301 | }, |
295 | 302 | labelField: 'name', |
|
326 | 333 | } |
327 | 334 | } |
328 | 335 | }; |
329 | | - |
| 336 | + |
330 | 337 | var domainActionfilter = function(args) { |
331 | 338 | var jsonObj = args.context.item; |
332 | | - var allowedActions = []; |
333 | | - if(isAdmin()) { |
334 | | - allowedActions.push("create"); |
335 | | - if(jsonObj.id != 1) { //"ROOT" domain is not allowed to edit or delete |
| 339 | + var allowedActions = []; |
| 340 | + if(isAdmin()) { |
| 341 | + allowedActions.push("create"); |
| 342 | + if(jsonObj.id != 1) { //"ROOT" domain is not allowed to edit or delete |
336 | 343 | allowedActions.push("edit"); //merge updateResourceCount into edit |
337 | | - allowedActions.push("delete"); |
338 | | - } |
339 | | - } |
340 | | - //allowedActions.push("updateResourceCount"); |
| 344 | + allowedActions.push("delete"); |
| 345 | + } |
| 346 | + } |
| 347 | + //allowedActions.push("updateResourceCount"); |
341 | 348 | return allowedActions; |
342 | | - } |
343 | | - |
| 349 | + } |
| 350 | + |
344 | 351 | })(cloudStack, testData); |
0 commit comments