diff --git a/src/sunstone/models/OpenNebulaJSON/UserJSON.rb b/src/sunstone/models/OpenNebulaJSON/UserJSON.rb index 89f9780b7a..0fe15fdcc5 100644 --- a/src/sunstone/models/OpenNebulaJSON/UserJSON.rb +++ b/src/sunstone/models/OpenNebulaJSON/UserJSON.rb @@ -27,7 +27,8 @@ module OpenNebulaJSON end password = Digest::SHA1.hexdigest(user_hash['password']) - self.allocate(user_hash['name'], password) + + self.allocate(user_hash['name'], password, user_hash['auth_driver']) end def perform_action(template_json) @@ -37,10 +38,12 @@ module OpenNebulaJSON end rc = case action_hash['perform'] - when "passwd" then self.passwd(action_hash['params']) + when "passwd" then self.passwd(action_hash['params']) when "chgrp" then self.chgrp(action_hash['params']) - when "addgroup" then self.addgroup(action_hash['params']) - when "delgroup" then self.delgroup(action_hash['params']) + when "chauth" then self.chauth(action_hash['params']) + when "update" then self.update(action_hash['params']) + when "addgroup" then self.addgroup(action_hash['params']) + when "delgroup" then self.delgroup(action_hash['params']) else error_msg = "#{action_hash['perform']} action not " << " available for this resource" @@ -57,6 +60,14 @@ module OpenNebulaJSON super(params['group_id'].to_i) end + def chauth(params=Hash.new) + super(params['auth_driver']) + end + + def update(params=Hash.new) + super(params['raw_template']) + end + def addgroup(params=Hash.new) super(params['group_id'].to_i) end diff --git a/src/sunstone/public/js/opennebula.js b/src/sunstone/public/js/opennebula.js index 8a7224d161..0269c92e8e 100644 --- a/src/sunstone/public/js/opennebula.js +++ b/src/sunstone/public/js/opennebula.js @@ -669,7 +669,22 @@ var OpenNebula = { var action_obj = {"group_id": params.data.extra_param }; OpenNebula.Action.simple_action(params,OpenNebula.User.resource, "chgrp",action_obj); - } + }, + "chauth" : function(params){ + var action_obj = {"auth_driver" : params.data.extra_param }; + OpenNebula.Action.simple_action(params,OpenNebula.User.resource, + "chauth",action_obj); + }, + "update": function(params){ + var action_obj = {"template_raw" : params.data.extra_param }; + OpenNebula.Action.simple_action(params, + OpenNebula.User.resource, + "update", + action_obj); + }, + "fetch_template" : function(params){ + OpenNebula.Action.show(params,OpenNebula.User.resource,"template"); + }, // "addgroup" : function(params){ // var action_obj = {"group_id": params.data.extra_param }; // OpenNebula.Action.simple_action(params,OpenNebula.User.resource, diff --git a/src/sunstone/public/js/plugins/users-tab.js b/src/sunstone/public/js/plugins/users-tab.js index 0c48249ef8..667bc29733 100644 --- a/src/sunstone/public/js/plugins/users-tab.js +++ b/src/sunstone/public/js/plugins/users-tab.js @@ -18,6 +18,7 @@ var dataTable_users; var users_select=""; var $create_user_dialog; +var $update_pw_dialog; var users_tab_content = '