ulrich
2016-12-27 4f4b2940ce5816cf3daa226507029e17280b9a9e
Wechsel zwischen Benutzer-Anzeige und Benutzer-Formular sowie 
Transaktion fuer das Loeschen von Benutzer-Rollen und Benutzer
3 files modified
35 ■■■■ changed files
src/java/de/uhilger/um/api/UserMgr.java 12 ●●●●● patch | view | raw | blame | history
web/WEB-INF/sql.properties 3 ●●●●● patch | view | raw | blame | history
web/ui/ui.js 20 ●●●● patch | view | raw | blame | history
src/java/de/uhilger/um/api/UserMgr.java
@@ -1,10 +1,12 @@
package de.uhilger.um.api;
import de.uhilger.baselink.GenericRecord;
import de.uhilger.baselink.PersistenceManager;
import de.uhilger.baselink.Record;
import de.uhilger.um.App;
import de.uhilger.um.daten.User;
import de.uhilger.um.daten.UserRole;
import java.sql.Connection;
import java.util.List;
import org.apache.catalina.realm.RealmBase;
@@ -26,6 +28,7 @@
  public static final String SQL_GET_ROLE_LIST = "getRoleList";
  public static final String SQL_GET_USER_ROLES = "getUserRoles";
  public static final String SQL_DELETE_USER = "deleteUser";
  public static final String SQL_DELETE_USER_ROLES = "deleteUserRoles";
  
  /* ----------- Benutzer -------------- */
  
@@ -44,7 +47,14 @@
  }
  
  public User deleteUser(User user) {
    return (User) App.getDatabase().delete(user, UserMapper);
    PersistenceManager pm = App.getDatabase();
    Connection c = pm.getConnection();
    pm.startTransaction(c);
    String sql = App.getSqlStatement(SQL_DELETE_USER_ROLES);
    pm.execute(c, sql, user.getId());
    User deletedUser = (User) pm.delete(c, user, UserMapper);
    pm.commit(c);
    return deletedUser;
  }
  
  /*
web/WEB-INF/sql.properties
@@ -35,6 +35,9 @@
  <entry key="getUserRoles">
    select role_name from app.user_roles where user_name = ? order by role_name
  </entry>
  <entry key="deleteUserRoles">
    delete from app.user_roles where user_name = ?
  </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/ui.js
@@ -44,10 +44,6 @@
  }
}
function um_new_user() {
  alert('show form to enter new user');
}
/* ----------- role functions ------------ */
function um_new_role() {
@@ -99,6 +95,13 @@
  $('#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() {
  $('#rolleErteilen').prop( "disabled", false );
}
@@ -112,6 +115,13 @@
  $('#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 ------ */
@@ -212,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);