From ff2dffd34f557edeeee4ff93028717e79f45441a Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Wed, 01 Feb 2017 17:28:13 +0000 Subject: [PATCH] Alle HTML-Synthetisierungen im Code durch Mustache-Templates ersetzt --- web/ui/index.html | 24 ++++++++++-- web/WEB-INF/sql.properties | 2 src/java/de/uhilger/um/api/UserMgr.java | 17 +++++--- web/ui/ui.js | 34 +++++++++++++--- 4 files changed, 59 insertions(+), 18 deletions(-) diff --git a/src/java/de/uhilger/um/api/UserMgr.java b/src/java/de/uhilger/um/api/UserMgr.java index ca563fc..1399575 100644 --- a/src/java/de/uhilger/um/api/UserMgr.java +++ b/src/java/de/uhilger/um/api/UserMgr.java @@ -26,7 +26,6 @@ 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; @@ -91,7 +90,7 @@ /** 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); + //private static final Record UserDataMapper = new GenericRecord(UserData.class); /** Mapper-Objekt fuer Benutzerrollen */ private static final Record UserRoleMapper = new GenericRecord(UserRole.class); @@ -112,8 +111,7 @@ } public List getUserNameList() { - String sql = getSql(SQL_GET_USER_NAME_LIST); - return getDb().select(sql, UserDataMapper); + return removeHeadline(getDb().select(getSql(SQL_GET_USER_NAME_LIST), WITHOUT_BLOBS)); } public User deleteUser(User user) { @@ -139,15 +137,22 @@ } public List getRoleNamesGranted() { - return getDb().select(getSql(SQL_GET_ROLE_LIST), WITHOUT_BLOBS); + return removeHeadline(getDb().select(getSql(SQL_GET_ROLE_LIST), WITHOUT_BLOBS)); } public List getUserRoleNames(String userId) { - return getDb().select(getSql(SQL_GET_USER_ROLES), WITHOUT_BLOBS, userId); + return removeHeadline(getDb().select(getSql(SQL_GET_USER_ROLES), WITHOUT_BLOBS, userId)); } /* ----------- Helfer ---- */ + private List removeHeadline(List list) { + if(list != null && list.size() > 0) { + list.remove(0); + } + return list; + } + /** * Ein benanntes SQL-Kommando ermitteln * @param id Name des gewuenschten SQL-Kommandos diff --git a/web/WEB-INF/sql.properties b/web/WEB-INF/sql.properties index 9dac09e..8de6b17 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,user_first,user_last,user_email from app.users + select user_name from app.users </entry> <entry key="getUserList"> select * from app.users diff --git a/web/ui/index.html b/web/ui/index.html index 498839c..ada5958 100644 --- a/web/ui/index.html +++ b/web/ui/index.html @@ -6,13 +6,29 @@ <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"> + <script id="tpl-list" type="x-tmpl-mustache"> {{#List}} - {{#UserData}} - <option value="{{ id }}">{{ id }}</option>' - {{/UserData}} + {{#List}} + <option value="{{ String }}">{{ String }}</option>' + {{/List}} {{/List}} </script> + <!-- + <script id="tpl-role-list" type="x-tmpl-mustache"> + {{#List}} + {{#List}} + <option value="{{ String }}">{{ String }}</option>' + {{/List}} + {{/List}} + </script> + <script id="tpl-user-role-list" type="x-tmpl-mustache"> + {{#List}} + {{#List}} + <option value="{{ String }}">{{ String }}</option>' + {{/List}} + {{/List}} + </script> + --> </head> <body> <div id="inhalt"> diff --git a/web/ui/ui.js b/web/ui/ui.js index 9b362fb..8365c9b 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -135,11 +135,23 @@ } /* - * {"List":[{"List":[{"String":"USER_NAME"},{"String":"admin"},{"String":"ulli"}]}]} + * BaseLink liefert fuer einfache selects wie die der Nutzerverwaltung + * eine simple Listenfunktion, die auf der JSON-Seite wie folgt + * herauskommt. + * + * {"List":[{"List":[{"String":"USER_NAME"},{"String":"admin"},{"String":"test"}]}]} + * + * Fuer Mustache sieht ein Template dann z.B so aus: + * + * {{#List}} + * {{#List}} + * <option value="{{ String }}">{{ String }}</option>' + * {{/List}} + * {{/List}} */ function um_show_user_list(resp) { $("#nutzerliste").empty(); - var template = $('#tpl-user-list').html(); + var template = $('#tpl-list').html(); Mustache.parse(template); // optional, speeds up future uses $("#nutzerliste").append( Mustache.render(template, resp) ); } @@ -188,22 +200,30 @@ 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>'); - } + + var template = $('#tpl-list').html(); + Mustache.parse(template); // optional, speeds up future uses + $("#nutzerrollen").append( Mustache.render(template, resp) ); + $('#nutzerRolleEntziehen').prop( "disabled", true ); $('#rolleErteilen').prop( "disabled", true ); } function um_show_role_list(resp) { $("#rollen").empty(); + + var template = $('#tpl-list').html(); + Mustache.parse(template); // optional, speeds up future uses + $("#rollen").append( Mustache.render(template, resp) ); + + /* var rollen = resp.List[0]; for(var i = 1; i < rollen.List.length; i++) { var rolle = rollen.List[i]; $("#rollen").append('<option value=' + rolle.String + '>' + rolle.String + '</option>'); } + */ + $('#rolleErteilen').prop( "disabled", true ); } -- Gitblit v1.9.3