From 3d5fe0c05ec31993c5cf85f18f7202719f5bda11 Mon Sep 17 00:00:00 2001 From: ulrich@undisclosed Date: Sat, 09 May 2020 16:03:12 +0000 Subject: [PATCH] Dialog Neuer Nutzer begonnen --- web/ui/ui.js | 83 +++++++++++++++++++++++++++++++++++------ 1 files changed, 70 insertions(+), 13 deletions(-) diff --git a/web/ui/ui.js b/web/ui/ui.js index 9b362fb..0665ebf 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -17,9 +17,12 @@ $('#neueRolle').click(um_new_role); $('#rollen').click(um_role_list_click); $('#nutzerrollen').click(um_user_role_list_click); + $('#userMenu').text('?'); + $('#logout').click(um_apicall_logout); um_clear_user_form(); um_apicall_get_user_list(); um_apicall_get_granted_roles(); + um_apicall_get_login(); } /* ----- user functions ------ */ @@ -130,16 +133,30 @@ function um_user_form_lesen() { var userId = $('#anmeldename').val(); var kw = $('#kennwort').val(); - var user = new User(userId, kw, '-', '-', '-'); + var firstName = $('#vorname').val(); + var lastName = $('#nachname').val(); + var user = new User(userId, kw, firstName, lastName, '-'); return user; } /* - * {"List":[{"List":[{"String":"USER_NAME"},{"String":"admin"},{"String":"ulli"}]}]} + * BaseLink liefert fuer einfache selects wie die der Nutzerverwaltung + * eine simple Listenfunktion, die auf der JSON-Seite wie folgt + * herauskommt. + * + * {"List":[{"List":[{"String":"USER_NAME"},{"String":"admin"},{"String":"test"}]}]} + * + * Fuer Mustache sieht ein Template dann z.B so aus: + * + * {{#List}} + * {{#List}} + * <option value="{{ String }}">{{ String }}</option>' + * {{/List}} + * {{/List}} */ function um_show_user_list(resp) { $("#nutzerliste").empty(); - var template = $('#tpl-user-list').html(); + var template = $('#tpl-list').html(); Mustache.parse(template); // optional, speeds up future uses $("#nutzerliste").append( Mustache.render(template, resp) ); } @@ -188,22 +205,22 @@ function um_show_user_role_list(resp) { $("#nutzerrollen").empty(); - var rollen = resp.List[0]; - for(var i = 1; i < rollen.List.length; i++) { - var rolle = rollen.List[i]; - $("#nutzerrollen").append('<option value=' + rolle.String + '>' + rolle.String + '</option>'); - } + + var template = $('#tpl-list').html(); + Mustache.parse(template); // optional, speeds up future uses + $("#nutzerrollen").append( Mustache.render(template, resp) ); + $('#nutzerRolleEntziehen').prop( "disabled", true ); $('#rolleErteilen').prop( "disabled", true ); } function um_show_role_list(resp) { $("#rollen").empty(); - var rollen = resp.List[0]; - for(var i = 1; i < rollen.List.length; i++) { - var rolle = rollen.List[i]; - $("#rollen").append('<option value=' + rolle.String + '>' + rolle.String + '</option>'); - } + + var template = $('#tpl-list').html(); + Mustache.parse(template); // optional, speeds up future uses + $("#rollen").append( Mustache.render(template, resp) ); + $('#rolleErteilen').prop( "disabled", true ); } @@ -361,6 +378,46 @@ }); } +function um_apicall_get_login() { + var m = '?c=de.uhilger.um.pub.SessionManager&m=getSessionUser'; + var u = '../pub' + m; + $.ajax({ + url: u, + type: "GET", + dataType : "json", + success: function( resp ) { + $('#userMenu').text(resp.UserData.firstName); + }, + error: function( xhr, status, errorThrown ) { + $('#fehler').html("Error: " + errorThrown + " Status: " + status); + }, + complete: function( xhr, status ) { + //alert( "The request is complete!" ); + } + }); + +} + +function um_apicall_logout() { + var m = '?c=de.uhilger.um.pub.SessionManager&m=expireSession'; + var u = '../pub' + m; + $.ajax({ + url: u, + type: "GET", + dataType : "text", + success: function( resp ) { + $('#userMenu').text('nicht angemeldet'); + window.location.href = '../logout.html'; + }, + error: function( xhr, status, errorThrown ) { + $('#fehler').html("Error: " + errorThrown + " Status: " + status); + }, + complete: function( xhr, status ) { + //alert( "The request is complete!" ); + } + }); +} + /* ----- Hilfsfunktionen ----- */ function serialisieren(obj) { -- Gitblit v1.9.3