diff --git a/ApiClient.js b/ApiClient.js index a90d2dcf8b..4a0222139d 100644 --- a/ApiClient.js +++ b/ApiClient.js @@ -1432,9 +1432,9 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { /** * Gets all users from the server */ - self.getUsers = function () { + self.getUsers = function (options) { - var url = self.getUrl("users"); + var url = self.getUrl("users", options || {}); return self.ajax({ type: "GET", @@ -1870,6 +1870,32 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { return files; }; + /** + * Authenticates a user + * @param {String} name + * @param {String} password + */ + self.authenticateUserByName = function (name, password) { + + if (!name) { + throw new Error("null name"); + } + + var url = self.getUrl("Users/" + name + "/authenticatebyname"); + + var postData = { + password: MediaBrowser.SHA1(password || "") + }; + + return self.ajax({ + type: "POST", + url: url, + data: JSON.stringify(postData), + dataType: "json", + contentType: "application/json" + }); + }; + /** * Authenticates a user * @param {String} userId @@ -1891,6 +1917,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) { type: "POST", url: url, data: JSON.stringify(postData), + dataType: "json", contentType: "application/json" }); }; diff --git a/dashboard-ui/allusersettings.html b/dashboard-ui/allusersettings.html new file mode 100644 index 0000000000..40e856f3dc --- /dev/null +++ b/dashboard-ui/allusersettings.html @@ -0,0 +1,51 @@ + + +
+