ulrich
2016-12-20 72c5c3e9db2431c7b0e3878db793ab8516408cc0
Nutzer loeschen und zusaetzliche Dynamik auf dem UI eingebaut
5 files modified
118 ■■■■ changed files
src/java/de/uhilger/um/api/UserMgr.java 5 ●●●●● patch | view | raw | blame | history
web/WEB-INF/sql.properties 8 ●●●●● patch | view | raw | blame | history
web/ui/stile.css 12 ●●●●● patch | view | raw | blame | history
web/ui/ui.js 82 ●●●● patch | view | raw | blame | history
web/ui/user.jsp 11 ●●●● patch | view | raw | blame | history
src/java/de/uhilger/um/api/UserMgr.java
@@ -19,6 +19,7 @@
  
  public static final String SQL_GET_USER_LIST = "getUserList";
  public static final String SQL_GET_USER_NAME_LIST = "getUserNameList";
  public static final String SQL_DELETE_USER = "deleteUser";
  
  public User createUser(User user) {
    String kw = user.getPw();
@@ -34,6 +35,10 @@
    return userNames;
  }
  
  public User deleteUser(User user) {
    return (User) App.getDatabase().delete(user, UserMapper);
  }
  /*
  public List getUserList() {
    String sql = App.getSqlStatement(SQL_GET_USER_LIST);
web/WEB-INF/sql.properties
@@ -29,14 +29,6 @@
  <entry key="getUserList">
    select * from app.users
  </entry>
  <entry key="getFirstTrackpoint">
    select * from
    app.orte
    where or_zeit larger ?
    and or_zeit smaller ?
    and or_pers_id = ?
    fetch first row only
  </entry>
  <entry key="getDateList">
    select substr(or_zeit,1,8) as tag, count(*) as anz from app.orte as orte 
    where or_pers_id = ?  
web/ui/stile.css
@@ -1,5 +1,17 @@
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}
#user-list-form {
  height: 100%;
}
#nutzerliste {
  height: 100%;
}
/* Buttons
web/ui/ui.js
@@ -5,7 +5,8 @@
  $('#nutzerLoeschen').click(um_del_user);
  $('#nutzerNeu').click(um_new_user);
  $('#nutzerLoeschen').prop( "disabled", true );
  um_clear_user_form();
  um_apicall_get_user_list();
}
/* ----- user functions ------ */
@@ -16,13 +17,23 @@
  if(user.pw != kww) {
    alert('Kennworte stimmen nicht ueberein.');
  } else {
    alert('user-save ' + user.id);
    um_apicall(self.serialisieren(user));
    //alert('user-save ' + user.id);
    um_apicall_create_user(self.serialisieren(user));
  }
}
function um_del_user(user_name) {
  alert('delete user ' + user_name);
function um_del_user() {
  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));
  }
}
function um_new_user() {
@@ -32,9 +43,14 @@
/* ----------- ui interaction ------------ */
function um_user_list_click() {
  //var user_name = 'noch aus liste ermitteln..';
  //alert('user list click, user: ' + user_name);
  um_get_user_list();
  $('#nutzerLoeschen').prop( "disabled", false );
  /*
   var users = [];
   $('#nutzerliste :selected').each(function(i, selected){
     users[i] = $(selected).text();
   });
  */
   //alert(users[0]);
}
@@ -48,33 +64,41 @@
}
function um_show_user_list(resp) {
  $("#nutzerliste").empty();
  var users = resp.List[0];
  for(var i = 0; i < users.List.length; i++) {
  for(var i = 1; i < users.List.length; i++) {
    var user = users.List[i];
    $("#nutzerliste").append('<option value=' + user.String + '>' + user.String + '</option>');
  }
  $('#nutzerLoeschen').prop( "disabled", true );
  //var user1 = users.List[1];
  //var username = user1.String;
  //alert(username);
  //$("#nutzerliste").append('<option value=' + UpdateItem + '>' + UpdateItem + '</option>');
}
function um_clear_user_form() {
  $('#anmeldename').val('');
  $('#kennwort').val('');
  $('#kennwortw').val('');
}
/* ---- api calls ----- */
function um_apicall(obj) {
  var c = 'de.uhilger.um.api.UserMgr';
function um_apicall_create_user(user) {
  var m = 'createUser';
  var u = '../api?c=' + c + '&m=' + m;
  var u = '../svc/' + m;
  $.ajax({
    url: u,
    data: {
      p: obj
      p: user
    },
    type: "POST",
    dataType : "html",
    //success: function( resp ) {
    success: function( resp ) {
      //$('#fehler').html('Antwort: ' + resp);
    //},
      um_apicall_get_user_list();
      um_clear_user_form();
    },
    error: function( xhr, status, errorThrown ) {
      $('#fehler').html("Error: " + errorThrown + " Status: " + status);
    },
@@ -84,8 +108,29 @@
  });      
}
function um_get_user_list() {
  var c = 'de.uhilger.um.api.UserMgr';
function um_apicall_del_user(user) {
  var m = 'deleteUser';
  var u = '../svc/' + m;
  $.ajax({
    url: u,
    data: {
      p: user
    },
    type: "POST",
    dataType : "html",
    success: function( resp ) {
      um_apicall_get_user_list();
    },
    error: function( xhr, status, errorThrown ) {
      $('#fehler').html("Error: " + errorThrown + " Status: " + status);
    },
    complete: function( xhr, status ) {
      //alert( "The request is complete!" );
    }
  });
}
function um_apicall_get_user_list() {
  var m = 'getUserNameList';
  var u = '../svc/' + m;
  $.ajax({
@@ -93,7 +138,6 @@
    type: "GET",
    dataType : "json",
    success: function( resp ) {
      //$('#fehler').html('Antwort: ' + resp);
      um_show_user_list(resp);
    },
    error: function( xhr, status, errorThrown ) {
web/ui/user.jsp
@@ -17,11 +17,16 @@
  <body>
    <h1>Benutzer</h1>
    <div id="user-list-form">
      <select size="10" name="nutzerliste" id="nutzerliste">
      </select><br>
      <select size="8" name="nutzerliste" id="nutzerliste">
        <option>1</option>
        <option>2</option>
        <option>3</option>
      </select>
    </div>
    <div>
      <input type="button" name="nutzerLoeschen" id="nutzerLoeschen" value="L&ouml;schen">
      &nbsp;
      <input type="button" name="nutzerNeu" id="nutzerNeu" value="Neu">
      <input type="button" name="nutzerNeu" id="nutzerNeu" value="Neu">
    </div>
    <div id="user-form">
      <input type="text" size="20" maxlength="20" placeholder="Anmeldename" name="anmeldename" id="anmeldename">