]> WPIA git - gigi.git/commitdiff
upd: show timezone in outptu timestamps, Find domain handle org doms
authorFelix Dörre <felix@dogcraft.de>
Tue, 24 Nov 2015 16:45:32 +0000 (17:45 +0100)
committerFelix Dörre <felix@dogcraft.de>
Tue, 24 Nov 2015 19:38:04 +0000 (20:38 +0100)
src/org/cacert/gigi/dbObjects/Domain.java
src/org/cacert/gigi/output/template/Template.java
src/org/cacert/gigi/pages/admin/support/FindDomainForm.java
src/org/cacert/gigi/pages/admin/support/FindDomainPage.java

index 1d31db61c2dee3dcf95dc122d74f4e5694344271..78ebc9bbf78ff3f96edee4b8ef27a3888925f183 100644 (file)
@@ -235,14 +235,14 @@ public class Domain implements IdCachable, Verifyable {
         return em;
     }
 
-    public static int searchUserIdByDomain(String domain) {
-        try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT `memid` FROM `domains` WHERE `domain` = ?")) {
+    public static Domain searchUserIdByDomain(String domain) {
+        try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT `id` FROM `domains` WHERE `domain` = ?")) {
             ps.setString(1, domain);
             GigiResultSet res = ps.executeQuery();
             if (res.next()) {
-                return res.getInt(1);
+                return getById(res.getInt(1));
             } else {
-                return -1;
+                return null;
             }
         }
     }
index 01d5bbd3d48348cea55c840b03006d10e9aea495..fc3bf7854dda9142d05f0e30cc75c5be82935ee3 100644 (file)
@@ -192,6 +192,7 @@ public class Template implements Outputable {
         } else if (s instanceof Date) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             out.print(sdf.format(s));
+            out.print(" UTC");
         } else {
             out.print(s == null ? "null" : (unescaped ? s.toString() : HTMLEncoder.encodeHTML(s.toString())));
         }
index dca6b34db735886d2206acfe7a479ca6399d5b7b..f40855141921e8aab6cd68c66adb8ec2ac56509a 100644 (file)
@@ -6,6 +6,7 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 
 import org.cacert.gigi.GigiApiException;
+import org.cacert.gigi.dbObjects.CertificateOwner;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.template.Form;
@@ -13,7 +14,7 @@ import org.cacert.gigi.output.template.Template;
 
 public class FindDomainForm extends Form {
 
-    private int userId = -1;
+    private CertificateOwner res = null;
 
     private static Template t;
     static {
@@ -27,19 +28,20 @@ public class FindDomainForm extends Form {
     @Override
     public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
         String request = req.getParameter("domain");
+        Domain d = null;
         if (request.matches("#[0-9]+")) {
             try {
-                Domain domainById = Domain.getById(Integer.parseInt(request.substring(1)));
-                userId = domainById.getOwner().getId();
+                d = Domain.getById(Integer.parseInt(request.substring(1)));
             } catch (IllegalArgumentException e) {
                 throw (new GigiApiException("No personal domains found matching the id " + request.substring(1) + "."));
             }
         } else {
-            userId = Domain.searchUserIdByDomain(request);
+            d = Domain.searchUserIdByDomain(request);
         }
-        if (userId == -1) {
+        if (d == null) {
             throw (new GigiApiException("No personal domains found matching " + request));
         }
+        res = d.getOwner();
         return true;
     }
 
@@ -48,8 +50,8 @@ public class FindDomainForm extends Form {
         t.output(out, l, vars);
     }
 
-    public int getUserId() {
-        return userId;
+    public CertificateOwner getRes() {
+        return res;
     }
 
 }
index 8f0830bb09eac8c9694b4323a8308faad5588092..ac3d9f73e61fbc3bd2962e5473d5f228063afd80 100644 (file)
@@ -1,5 +1,8 @@
 package org.cacert.gigi.pages.admin.support;
 
+import org.cacert.gigi.dbObjects.CertificateOwner;
+import org.cacert.gigi.dbObjects.Organisation;
+import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.output.template.Form;
 import org.cacert.gigi.pages.OneFormPage;
 import org.cacert.gigi.util.AuthorizationContext;
@@ -14,7 +17,14 @@ public class FindDomainPage extends OneFormPage {
 
     @Override
     public String getSuccessPath(Form f) {
-        return SupportUserDetailsPage.PATH + ((FindDomainForm) f).getUserId();
+        CertificateOwner res = ((FindDomainForm) f).getRes();
+        if (res instanceof User) {
+            return SupportUserDetailsPage.PATH + res.getId();
+        } else if (res instanceof Organisation) {
+            return "/support/domain/" + res.getId();
+        } else {
+            throw new Error("Unknown owner type.");
+        }
     }
 
     @Override