ulrich
2017-02-01 61cf4822e1f4080e0625610470f232dd32cb4dd6
Mustache eingebaut
6 files modified
46 ■■■■ changed files
src/java/de/uhilger/um/api/UserMgr.java 11 ●●●●● patch | view | raw | blame | history
src/java/de/uhilger/um/web/Initialiser.java 5 ●●●● patch | view | raw | blame | history
src/java/de/uhilger/um/web/NiceFilter.java 8 ●●●● patch | view | raw | blame | history
web/WEB-INF/sql.properties 2 ●●● patch | view | raw | blame | history
web/ui/index.html 8 ●●●●● patch | view | raw | blame | history
web/ui/ui.js 12 ●●●● patch | view | raw | blame | history
src/java/de/uhilger/um/api/UserMgr.java
@@ -24,10 +24,13 @@
import de.uhilger.transit.web.WebKontext;
import de.uhilger.um.Digester;
import de.uhilger.um.daten.User;
import de.uhilger.um.daten.UserData;
import de.uhilger.um.daten.UserRole;
import de.uhilger.um.web.Initialiser;
import java.sql.Connection;
import java.util.List;
import java.util.Properties;
import java.util.logging.Logger;
import javax.servlet.ServletContext;
/**
@@ -57,6 +60,8 @@
 */
public class UserMgr implements WebKontext {
  
  private static final Logger logger = Logger.getLogger(UserMgr.class.getName());
  /** Zeiger zum Servlet-Kontext dieser Anwendung */
  private ServletContext ctx;
  
@@ -85,6 +90,8 @@
  
  /** Mapper-Objekt fuer Benutzer */
  private static final Record UserMapper = new GenericRecord(User.class);
  /** Mapper-Objekt fuer Benutzerdaten */
  private static final Record UserDataMapper = new GenericRecord(UserData.class);
  /** Mapper-Objekt fuer Benutzerrollen */
  private static final Record UserRoleMapper = new GenericRecord(UserRole.class);
  
@@ -105,7 +112,9 @@
  }
  
  public List getUserNameList() {
    return getDb().select(getSql(SQL_GET_USER_NAME_LIST), WITHOUT_BLOBS);
    String sql = getSql(SQL_GET_USER_NAME_LIST);
    logger.info(sql);
    return getDb().select(sql, UserDataMapper);
  }
  
  public User deleteUser(User user) {
src/java/de/uhilger/um/web/Initialiser.java
@@ -131,6 +131,9 @@
        User admin = new User();
        admin.setId("admin");
        admin.setPw("admin");
        admin.setFirstName("admin");
        admin.setLastName("admin");
        admin.setEmail("none");
        UserMgr um = new UserMgr();
        um.setServletContext(servletContext);
        um.createUser(admin);
@@ -144,7 +147,7 @@
  private boolean dbVorhanden(PersistenceManager pm, String sql) {
    boolean istVorhanden = false;
    List<List<String>> list = pm.select(sql, Record.WITHOUT_BLOBS);
    if(list.size() > 1) {
    if(list != null && list.size() > 1) {
      istVorhanden = true;
      logger.fine("Datenbank ist vorhanden");
    }
src/java/de/uhilger/um/web/NiceFilter.java
@@ -28,8 +28,14 @@
import javax.servlet.http.HttpServletRequest;
/**
 * Filter zum Verkuerzen von URLs
 *
 * @author hilgeru
 * @author Copyright (c) Ulrich Hilger, http://uhilger.de
 * @author Published under the terms and conditions of the
 * <a href="http://www.gnu.org/licenses/agpl-3.0" target="_blank">GNU Affero
 * General Public License</a>
 *
 * @version 2, February 1, 2017
 */
public class NiceFilter implements Filter {
  
web/WEB-INF/sql.properties
@@ -24,7 +24,7 @@
    where key_name = ?
  </entry>
  <entry key="getUserNameList">
    select user_name from app.users
    select user_name,user_first,user_last,user_email from app.users
  </entry>
  <entry key="getUserList">
    select * from app.users
web/ui/index.html
@@ -6,6 +6,13 @@
    <title>Benutzer</title>
    <link rel="stylesheet" type="text/css" href="/jslib/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="stile.css">
    <script id="tpl-user-list" type="x-tmpl-mustache">
      {{#List}}
      {{#UserData}}
        <option value="{{ id }}">{{ id }}</option>'
      {{/UserData}}
      {{/List}}
    </script>
  </head>
  <body>
    <div id="inhalt">
@@ -49,6 +56,7 @@
      </div>
    </div>
    <script src="/jslib/jquery/jquery.min.js"></script>
    <script src="/jslib/mustache/mustache.min.js"></script>
    <script src="ui.js"></script>
    <script type="text/javascript" charset="utf-8">
      //var ui;
web/ui/ui.js
@@ -134,14 +134,14 @@
  return user;
}
/*
 * {"List":[{"List":[{"String":"USER_NAME"},{"String":"admin"},{"String":"ulli"}]}]}
 */
function um_show_user_list(resp) {
  $("#nutzerliste").empty();
  var users = resp.List[0];
  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 template = $('#tpl-user-list').html();
  Mustache.parse(template);   // optional, speeds up future uses
  $("#nutzerliste").append( Mustache.render(template, resp) );
}
function um_clear_user_form() {