diff --git a/src/sunstone/models/OpenNebulaJSON/VirtualNetworkJSON.rb b/src/sunstone/models/OpenNebulaJSON/VirtualNetworkJSON.rb index 7a4669a5d5..b18230f2ac 100644 --- a/src/sunstone/models/OpenNebulaJSON/VirtualNetworkJSON.rb +++ b/src/sunstone/models/OpenNebulaJSON/VirtualNetworkJSON.rb @@ -31,7 +31,7 @@ module OpenNebulaJSON else template = template_to_str(vnet_hash) end - + self.allocate(template) end @@ -46,6 +46,7 @@ module OpenNebulaJSON when "rmleases" then self.rmleases(action_hash['params']) when "publish" then self.publish when "unpublish" then self.unpublish + when "update" then self.update(action_hash['params']) when "chown" then self.chown(action_hash['params']) else error_msg = "#{action_hash['perform']} action not " << @@ -62,6 +63,10 @@ module OpenNebulaJSON super(params['ip']) end + def update(params=Hash.new) + super(params['template_raw']) + end + def chown(params=Hash.new) super(params['owner_id'].to_i,params['group_id'].to_i) end diff --git a/src/sunstone/public/js/opennebula.js b/src/sunstone/public/js/opennebula.js index 12ea698981..8a7224d161 100644 --- a/src/sunstone/public/js/opennebula.js +++ b/src/sunstone/public/js/opennebula.js @@ -510,7 +510,17 @@ var OpenNebula = { OpenNebula.Network.resource, "rmleases", action_obj); - } + }, + "update": function(params){ + var action_obj = {"template_raw" : params.data.extra_param }; + OpenNebula.Action.simple_action(params, + OpenNebula.Network.resource, + "update", + action_obj); + }, + "fetch_template" : function(params){ + OpenNebula.Action.show(params,OpenNebula.Network.resource,"template"); + }, }, "VM": { diff --git a/src/sunstone/public/js/plugins/images-tab.js b/src/sunstone/public/js/plugins/images-tab.js index 5cfe1edf97..b2bb396b1a 100644 --- a/src/sunstone/public/js/plugins/images-tab.js +++ b/src/sunstone/public/js/plugins/images-tab.js @@ -173,7 +173,7 @@ var update_image_tmpl = '