From 61cf4822e1f4080e0625610470f232dd32cb4dd6 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Wed, 01 Feb 2017 07:08:31 +0000
Subject: [PATCH] Mustache eingebaut

---
 src/java/de/uhilger/um/web/NiceFilter.java  |    8 +++++++-
 web/ui/index.html                           |    8 ++++++++
 web/WEB-INF/sql.properties                  |    2 +-
 src/java/de/uhilger/um/web/Initialiser.java |    5 ++++-
 src/java/de/uhilger/um/api/UserMgr.java     |   11 ++++++++++-
 web/ui/ui.js                                |   12 ++++++------
 6 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/src/java/de/uhilger/um/api/UserMgr.java b/src/java/de/uhilger/um/api/UserMgr.java
index dcffb9c..24cf481 100644
--- a/src/java/de/uhilger/um/api/UserMgr.java
+++ b/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) {
diff --git a/src/java/de/uhilger/um/web/Initialiser.java b/src/java/de/uhilger/um/web/Initialiser.java
index 1895344..0feeecd 100644
--- a/src/java/de/uhilger/um/web/Initialiser.java
+++ b/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");
     }
diff --git a/src/java/de/uhilger/um/web/NiceFilter.java b/src/java/de/uhilger/um/web/NiceFilter.java
index c0d120b..ceb1373 100644
--- a/src/java/de/uhilger/um/web/NiceFilter.java
+++ b/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 {
   
diff --git a/web/WEB-INF/sql.properties b/web/WEB-INF/sql.properties
index 8de6b17..9dac09e 100644
--- a/web/WEB-INF/sql.properties
+++ b/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
diff --git a/web/ui/index.html b/web/ui/index.html
index 383671b..498839c 100644
--- a/web/ui/index.html
+++ b/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;
diff --git a/web/ui/ui.js b/web/ui/ui.js
index 0e7b427..9b362fb 100644
--- a/web/ui/ui.js
+++ b/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() {

--
Gitblit v1.9.3