diff --git a/share/jupyter/static/js/jhapi.js b/share/jupyter/static/js/jhapi.js index 9770d736..1e7cf0f1 100644 --- a/share/jupyter/static/js/jhapi.js +++ b/share/jupyter/static/js/jhapi.js @@ -45,9 +45,7 @@ define(['jquery', 'utils'], function ($, utils) { JHAPI.prototype.start_server = function (user, options) { options = options || {}; - options.update({ - type: 'POST', - }); + options = update(options, {type: 'POST', dataType: null}); this.api_request( utils.url_path_join('users', user, 'server'), options @@ -55,9 +53,8 @@ define(['jquery', 'utils'], function ($, utils) { }; JHAPI.prototype.stop_server = function (user, options) { - options = update(options || {}, { - type: 'DELETE', - }); + options = options || {}; + options = update(options, {type: 'DELETE', dataType: null}); this.api_request( utils.url_path_join('users', user, 'server'), options @@ -75,10 +72,37 @@ define(['jquery', 'utils'], function ($, utils) { ); }; - JHAPI.prototype.delete_user = function (user, options) { - options = update(options || {}, { - type: 'DELETE', + JHAPI.prototype.add_user = function (user, userinfo, options) { + options = options || {}; + options = update(options, { + type: 'POST', + dataType: null, + data: JSON.stringify(userinfo) }); + + this.api_request( + utils.url_path_join('users', user), + options + ); + }; + + JHAPI.prototype.edit_user = function (user, userinfo, options) { + options = options || {}; + options = update(options, { + type: 'PATCH', + dataType: null, + data: JSON.stringify(userinfo) + }); + + this.api_request( + utils.url_path_join('users', user), + options + ); + }; + + JHAPI.prototype.delete_user = function (user, options) { + options = options || {}; + options = update(options, {type: 'DELETE', dataType: null}); this.api_request( utils.url_path_join('users', user), options diff --git a/share/jupyter/templates/admin.html b/share/jupyter/templates/admin.html index 6a8a700c..3a8cd30e 100644 --- a/share/jupyter/templates/admin.html +++ b/share/jupyter/templates/admin.html @@ -3,11 +3,113 @@ {% block main %}
-
-
- Administrate! + + + + + + + + {% for user in users %} + + + + + + + {% endfor %} + + + + +
Users
{{user.name}}{% if user.admin %}admin{% endif %} + {% if user.server %} + stop server + {% else %} + start server + {% endif %} + + edit + delete +
+ Add User +
+
+ + + + + + + {% endblock %} + +{% block script %} + +{% endblock %}