mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-30 00:23:21 +00:00 
			
		
		
		
	#268: Implement user update service call.
This commit is contained in:
		| @@ -191,6 +191,64 @@ GuacamoleService.Users = { | ||||
|       | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * Updates the user having the given username. | ||||
|      *  | ||||
|      * @param {String} username The username of the user to create. | ||||
|      * @param {String} password The password to assign to the user. | ||||
|      * @param {GuacamoleService.PermissionSet} permissions The permissions to | ||||
|      *                                                     assign. | ||||
|      * @param {String} parameters Any parameters which should be passed to the | ||||
|      *                            server for the sake of authentication | ||||
|      *                            (optional). | ||||
|      */ | ||||
|     "update" : function(username, password, permissions, parameters) { | ||||
|  | ||||
|         // Construct request URL | ||||
|         var users_url = "users/update?name=" + encodeURIComponent(username); | ||||
|         if (parameters) users_url += "&" + parameters; | ||||
|  | ||||
|         // Init POST data | ||||
|         var data = "password=" + encodeURIComponent(password); | ||||
|  | ||||
|         // Creation permissions | ||||
|         if (permissions.create_user)       data += "&user=create"; | ||||
|         if (permissions.create_connection) data += "&connection=create"; | ||||
|  | ||||
|         var name; | ||||
|  | ||||
|         // User permissions  | ||||
|         for (name in permissions.read_user) | ||||
|             data += "&user=read:"  + encodeURIComponent(name); | ||||
|         for (name in permissions.administer_user) | ||||
|             data += "&user=admin:" + encodeURIComponent(name); | ||||
|         for (name in permissions.update_user) | ||||
|             data += "&user=update:" + encodeURIComponent(name); | ||||
|         for (name in permissions.remove_user) | ||||
|             data += "&user=delete:" + encodeURIComponent(name); | ||||
|  | ||||
|         // Connection permissions  | ||||
|         for (name in permissions.read_connection) | ||||
|             data += "&connection=read:" + encodeURIComponent(name); | ||||
|         for (name in permissions.administer_connection) | ||||
|             data += "&connection=admin:" + encodeURIComponent(name); | ||||
|         for (name in permissions.update_connection) | ||||
|             data += "&connection=update:" + encodeURIComponent(name); | ||||
|         for (name in permissions.remove_connection) | ||||
|             data += "&connection=delete:" + encodeURIComponent(name); | ||||
|  | ||||
|         // Update user | ||||
|         var xhr = new XMLHttpRequest(); | ||||
|         xhr.open("POST", users_url, false); | ||||
|         xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); | ||||
|         xhr.send(data); | ||||
|  | ||||
|         // If fail, throw error | ||||
|         if (xhr.status != 200) | ||||
|             throw new Error(xhr.statusText); | ||||
|  | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * Creates a new user having the given username. | ||||
|      *  | ||||
| @@ -215,7 +273,6 @@ GuacamoleService.Users = { | ||||
|             throw new Error(xhr.statusText); | ||||
|  | ||||
|     }, | ||||
|  | ||||
|     /** | ||||
|      * Deletes the user having the given username. | ||||
|      *  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user