1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-22 18:50:08 +03:00

Feature #2696: Sunstone support for Group template

This commit is contained in:
Tino Vazquez 2014-02-26 17:41:08 +01:00
parent c58cc19d01
commit 7b0136523f
4 changed files with 54 additions and 6 deletions

View File

@ -37,6 +37,7 @@ module OpenNebulaJSON
rc = case action_hash['perform']
when "chown" then self.chown(action_hash['params'])
when "update" then self.update(action_hash['params'])
when "set_quota" then self.set_quota(action_hash['params'])
when "add_provider" then self.add_provider(action_hash['params'])
when "del_provider" then self.del_provider(action_hash['params'])
@ -51,6 +52,10 @@ module OpenNebulaJSON
super(params['owner_id'].to_i)
end
def update(params=Hash.new)
super(params['template_raw'])
end
def set_quota(params=Hash.new)
quota_json = params['quotas']
quota_template = template_to_str(quota_json)

View File

@ -932,6 +932,13 @@ var OpenNebula = {
}
});
},
"update": function(params){
var action_obj = {"template_raw" : params.data.extra_param };
OpenNebula.Action.simple_action(params,
OpenNebula.Group.resource,
"update",
action_obj);
},
"set_quota" : function(params){
var action_obj = { quotas : params.data.extra_param };
OpenNebula.Action.simple_action(params,OpenNebula.Group.resource,"set_quota",action_obj);

View File

@ -445,6 +445,16 @@ var group_actions = {
error: onError
},
"Group.update_template" : {
type: "single",
call: OpenNebula.Group.update,
callback: function(request) {
notifyMessage("Template updated correctly");
Sunstone.runAction('Group.showinfo',request.request.data[0][0]);
},
error: onError
},
"Group.delete" : {
type: "multiple",
call : OpenNebula.Group.del,
@ -587,6 +597,7 @@ var group_buttons = {
};
var group_info_panel = {
};
var groups_tab = {
@ -773,6 +784,36 @@ function fromJSONtoProvidersTable(group_info){
function updateGroupInfo(request,group){
var info = group.GROUP;
var info_tab = {
title: tr("Information"),
content:
'<form class="custom"><div class="">\
<div class="six columns">\
<table id="info_img_table" class="twelve datatable extended_table">\
<thead>\
<tr><th colspan="3">'+tr("Group")+' - '+info.NAME+'</th></tr>\
</thead>\
<tr>\
<td class="key_td">'+tr("ID")+'</td>\
<td class="value_td">'+info.ID+'</td>\
<td></td>\
</tr>\
<tr>\
<td class="key_td">'+tr("Name")+'</td>\
<td class="value_td_rename">'+info.NAME+'</td>\
<td></td>\
</tr>\
</table>\
</div>\
<div class="six columns">'
+ insert_extended_template_table(info.TEMPLATE,
"Group",
info.ID,
"Configuration & Tags") +
'</div>\
</div></form>'
}
var default_group_quotas = Quotas.default_quotas(info.DEFAULT_GROUP_QUOTAS);
var quotas_tab_html = '<div class="three columns">' + Quotas.vms(info, default_group_quotas) + '</div>';
quotas_tab_html += '<div class="three columns">' + Quotas.cpu(info, default_group_quotas) + '</div>';
@ -813,7 +854,7 @@ function updateGroupInfo(request,group){
</div>'
};
Sunstone.updateInfoPanelTab("group_info_panel","group_info_tab",info_tab);
Sunstone.updateInfoPanelTab("group_info_panel","group_quotas_tab",quotas_tab);
Sunstone.updateInfoPanelTab("group_info_panel","group_providers_tab",providers_tab);
Sunstone.popUpInfoPanel("group_info_panel", 'groups-tab');

View File

@ -593,11 +593,6 @@ var image_buttons = {
layout: "del",
text: tr("Delete")
},
//"Image.help" : {
// type: "action",
// text: '?',
// alwaysActive: true
//}
}
var image_info_panel = {