From 4f4b2940ce5816cf3daa226507029e17280b9a9e Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Tue, 27 Dec 2016 13:48:25 +0000 Subject: [PATCH] Wechsel zwischen Benutzer-Anzeige und Benutzer-Formular sowie Transaktion fuer das Loeschen von Benutzer-Rollen und Benutzer --- web/ui/ui.js | 104 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 99 insertions(+), 5 deletions(-) diff --git a/web/ui/ui.js b/web/ui/ui.js index c6e9098..eb0eb23 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -1,5 +1,9 @@ function um_init() { + $('#user-form').hide(); + $('#nav').hide(); + $('#role-form').hide(); + $('#user-role-form').hide(); $('.user-save-btn').click(um_user_save); $('#nutzerliste').click(um_user_list_click); $('#nutzerLoeschen').click(um_del_user); @@ -7,6 +11,8 @@ $('#nutzerLoeschen').prop( "disabled", true ); $('#nutzerRolleEntziehen').prop( "disabled", true ); $('#rolleErteilen').prop( "disabled", true ); + $('#rolleErteilen').click(um_grant_role); + $('#nutzerRolleEntziehen').click(um_revoke_role); $('#neueRolle').click(um_new_role); $('#rollen').click(um_role_list_click); $('#nutzerrollen').click(um_user_role_list_click); @@ -38,10 +44,6 @@ } } -function um_new_user() { - alert('show form to enter new user'); -} - /* ----------- role functions ------------ */ function um_new_role() { @@ -61,12 +63,43 @@ } } +function um_grant_role() { + var roleIsNew = false; + var userId = um_get_first_selected_user_id(); + var roleId = um_get_first_selected_role_id(); + if(roleId !== 'none' && userId !== 'none') { + um_apicall_grant_role(userId, roleId, roleIsNew); + } +} + +function um_revoke_role() { + var userId = um_get_first_selected_user_id(); + var roleId = um_get_first_selected_userrole_id(); + if(roleId !== 'none' && userId !== 'none') { + um_apicall_revoke_role(userId, roleId); + } +} + /* ----------- ui interaction ------------ */ function um_user_list_click() { + $('#nav-back-btn').click(um_back_from_roles); $('#nutzerLoeschen').prop( "disabled", false ); + $('#rollen :selected').prop("selected", false); var userId = um_get_first_selected_user_id(); + $('#userid').html(userId); um_apicall_get_user_roles(userId); + $('#user-list-form').hide(); + $('#nav').show(); + $('#role-form').show(); + $('#user-role-form').show(); +} + +function um_new_user() { + $('#nav-back-btn').click(um_back_from_new_user); + $('#user-list-form').hide(); + $('#user-form').show(); + $('#nav').show(); } function um_role_list_click() { @@ -77,6 +110,19 @@ $('#nutzerRolleEntziehen').prop( "disabled", false ); } +function um_back_from_roles() { + $('#user-list-form').show(); + $('#nav').hide(); + $('#role-form').hide(); + $('#user-role-form').hide(); +} + +function um_back_from_new_user() { + $('#user-list-form').show(); + $('#nav').hide(); + $('#user-form').hide(); + um_clear_user_form(); +} /* ------- ui i/o ------ */ @@ -115,6 +161,30 @@ return userId; } +function um_get_first_selected_role_id() { + var roleId = 'none'; + var roleIds = []; + $('#rollen :selected').each(function(i, selected){ + roleIds[i] = $(selected).text(); + }); + if(roleIds.length > 0) { + roleId = roleIds[0]; + } + return roleId; +} + +function um_get_first_selected_userrole_id() { + var roleId = 'none'; + var roleIds = []; + $('#nutzerrollen :selected').each(function(i, selected){ + roleIds[i] = $(selected).text(); + }); + if(roleIds.length > 0) { + roleId = roleIds[0]; + } + return roleId; +} + // {"List":[{"List":[{"String":"ROLE_NAME"},{"String":"testrolle1"}]}]} function um_show_user_role_list(resp) { $("#nutzerrollen").empty(); @@ -136,6 +206,7 @@ //$('#neueRolle').prop( "disabled", true ); $('#rolleErteilen').prop( "disabled", true ); } + /* ---- api calls ----- */ function um_apicall_create_user(user) { @@ -151,7 +222,7 @@ success: function( resp ) { //$('#fehler').html('Antwort: ' + resp); um_apicall_get_user_list(); - um_clear_user_form(); + um_back_from_new_user(); }, error: function( xhr, status, errorThrown ) { $('#fehler').html("Error: " + errorThrown + " Status: " + status); @@ -230,6 +301,29 @@ }); } +function um_apicall_revoke_role(userId, roleName) { + var m = 'revokeRole'; + var u = '../svc/' + m; + $.ajax({ + url: u, + data: { + p1: userId, + p2: roleName + }, + type: "POST", + dataType : "html", + success: function( resp ) { + um_apicall_get_user_roles(userId); + }, + error: function( xhr, status, errorThrown ) { + $('#fehler').html("Error: " + errorThrown + " Status: " + status); + }, + complete: function( xhr, status ) { + //alert( "The request is complete!" ); + } + }); +} + //public List getUserRoleNames(String userId) function um_apicall_get_user_roles(userId) { var m = 'getUserRoleNames'; -- Gitblit v1.9.3