ulrich
2016-12-27 51edf4cdf3d517ff79150d26d35d819d96f0cbd1
web/ui/ui.js
@@ -6,9 +6,13 @@
  $('#nutzerNeu').click(um_new_user);
  $('#nutzerLoeschen').prop( "disabled", true );
  $('#nutzerRolleEntziehen').prop( "disabled", true );
  $('#rolleErteilen').prop( "disabled", true );
  $('#neueRolle').click(um_new_role);
  $('#rollen').click(um_role_list_click);
  $('#nutzerrollen').click(um_user_role_list_click);
  um_clear_user_form();
  um_apicall_get_user_list();
  um_apicall_get_granted_roles();
}
/* ----- user functions ------ */
@@ -19,18 +23,11 @@
  if(user.pw != kww) {
    alert('Kennworte stimmen nicht ueberein.');
  } else {
    //alert('user-save ' + user.id);
    um_apicall_create_user(self.serialisieren(user));
  }
}
function um_del_user() {
  /*var users = [];
  $('#nutzerliste :selected').each(function(i, selected){
    users[i] = $(selected).text();
  });*/
  //alert('delete user ' + users[0]);
  var userId = um_get_first_selected_user_id();
  if(userId !== 'none') {
    var antwort = confirm("Wollen Sie den Nutzer " + userId + " loeschen?"); 
@@ -48,6 +45,7 @@
/* ----------- role functions ------------ */
function um_new_role() {
  var roleIsNew = true;
  var userId = um_get_first_selected_user_id();
  if(userId === 'none') {
    alert('Es wurde kein Benutzer ausgewaehlt.');
@@ -56,8 +54,7 @@
    if (answer === null) {
      alert("Es wurde Cancel betaetigt.");
    } else if(answer !== "") {
      //alert("Rolle fuer Benutzer " + userId + " anlegen: " + answer);
      um_apicall_grant_role(userId, answer);
      um_apicall_grant_role(userId, answer, roleIsNew);
    } else {
      alert("OK betaetigt, aber Keine Rolle angegeben.");
    }
@@ -70,6 +67,14 @@
  $('#nutzerLoeschen').prop( "disabled", false );
  var userId = um_get_first_selected_user_id();
  um_apicall_get_user_roles(userId);
}
function um_role_list_click() {
  $('#rolleErteilen').prop( "disabled", false );
}
function um_user_role_list_click() {
  $('#nutzerRolleEntziehen').prop( "disabled", false );
}
@@ -90,9 +95,6 @@
    $("#nutzerliste").append('<option value=' + user.String + '>' + user.String + '</option>');
  }
  $('#nutzerLoeschen').prop( "disabled", true );
  //var user1 = users.List[1];
  //var username = user1.String;
  //alert(username);
}
function um_clear_user_form() {
@@ -124,6 +126,16 @@
  $('#nutzerRolleEntziehen').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>');
  }
  //$('#neueRolle').prop( "disabled", true );
  $('#rolleErteilen').prop( "disabled", true );
}
/* ---- api calls ----- */
function um_apicall_create_user(user) {
@@ -192,7 +204,7 @@
}
// public UserRole grantRole(String userId, String roleName) 
function um_apicall_grant_role(userId, roleName) {
function um_apicall_grant_role(userId, roleName, isNewRole) {
  var m = 'grantRole';
  var u = '../svc/' + m;
  $.ajax({
@@ -204,8 +216,10 @@
    type: "POST",
    dataType : "html",
    success: function( resp ) {
      // Liste der Rollen des Benutzers neu anzeigen bzw. die neue Rolle dort hinzufuegen
      um_apicall_get_user_roles(userId);
      if(isNewRole) {
        um_apicall_get_granted_roles();
      }
    },
    error: function( xhr, status, errorThrown ) {
      $('#fehler').html("Error: " + errorThrown + " Status: " + status);
@@ -237,6 +251,26 @@
  });      
}
function um_apicall_get_granted_roles() {
  var m = 'getRoleNamesGranted';
  var u = '../svc/' + m;
  $.ajax({
    url: u,
    type: "GET",
    dataType : "json",
    success: function( resp ) {
      // Antwort in Liste anzeigen
      um_show_role_list(resp);
    },
    error: function( xhr, status, errorThrown ) {
      $('#fehler').html("Error: " + errorThrown + " Status: " + status);
    },
    complete: function( xhr, status ) {
      //alert( "The request is complete!" );
    }
  });
}
/* ----- Hilfsfunktionen ----- */
function serialisieren(obj) {