ulrich
2016-12-27 c79c120dae38042f0f5d5c31d9b7413b0a8a3e7e
web/ui/ui.js
@@ -5,6 +5,8 @@
  $('#nutzerLoeschen').click(um_del_user);
  $('#nutzerNeu').click(um_new_user);
  $('#nutzerLoeschen').prop( "disabled", true );
  $('#nutzerRolleEntziehen').prop( "disabled", true );
  $('#neueRolle').click(um_new_role);
  um_clear_user_form();
  um_apicall_get_user_list();
}
@@ -23,34 +25,51 @@
}
function um_del_user() {
  var users = [];
  /*var users = [];
  $('#nutzerliste :selected').each(function(i, selected){
    users[i] = $(selected).text();
  });
  });*/
  //alert('delete user ' + users[0]);
  var antwort = confirm("Wollen Sie den Nutzer " + users[0] + " loeschen?");
  if (antwort == true) {
    var user = new User(users[0], '-', '-', '-', '-');
    um_apicall_del_user(self.serialisieren(user));
  }
  var userId = um_get_first_selected_user_id();
  if(userId !== 'none') {
    var antwort = confirm("Wollen Sie den Nutzer " + userId + " loeschen?");
    if (antwort === true) {
      var user = new User(userId, '-', '-', '-', '-');
      um_apicall_del_user(self.serialisieren(user));
    }
  }
}
function um_new_user() {
  alert('show form to enter new user');
}
/* ----------- role functions ------------ */
function um_new_role() {
  var userId = um_get_first_selected_user_id();
  if(userId === 'none') {
    alert('Es wurde kein Benutzer ausgewaehlt.');
  } else {
    var answer = prompt("Name der Rolle", "");
    if (answer === null) {
      alert("Es wurde Cancel betaetigt.");
    } else if(answer !== "") {
      //alert("Rolle fuer Benutzer " + userId + " anlegen: " + answer);
      um_apicall_grant_role(userId, answer);
    } else {
      alert("OK betaetigt, aber Keine Rolle angegeben.");
    }
  }
}
/* ----------- ui interaction ------------ */
function um_user_list_click() {
  $('#nutzerLoeschen').prop( "disabled", false );
  /*
   var users = [];
   $('#nutzerliste :selected').each(function(i, selected){
     users[i] = $(selected).text();
   });
  */
   //alert(users[0]);
  var userId = um_get_first_selected_user_id();
  um_apicall_get_user_roles(userId);
}
@@ -80,6 +99,29 @@
  $('#anmeldename').val('');
  $('#kennwort').val('');
  $('#kennwortw').val('');
}
function um_get_first_selected_user_id() {
  var userId = 'none';
  var userIds = [];
  $('#nutzerliste :selected').each(function(i, selected){
    userIds[i] = $(selected).text();
  });
  if(userIds.length > 0) {
    userId = userIds[0];
  }
  return userId;
}
// {"List":[{"List":[{"String":"ROLE_NAME"},{"String":"testrolle1"}]}]}
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>');
  }
  $('#nutzerRolleEntziehen').prop( "disabled", true );
}
/* ---- api calls ----- */
@@ -149,6 +191,52 @@
  });      
}
// public UserRole grantRole(String userId, String roleName)
function um_apicall_grant_role(userId, roleName) {
  var m = 'grantRole';
  var u = '../svc/' + m;
  $.ajax({
    url: u,
    data: {
      p1: userId,
      p2: roleName
    },
    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);
    },
    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';
  var u = '../svc/' + m + '?p=' + userId;
  $.ajax({
    url: u,
    type: "GET",
    dataType : "json",
    success: function( resp ) {
      // Antwort in Liste anzeigen
      um_show_user_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) {