From 9c05ed99bc13cd875e16f1f8c72376ed29f57498 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Tue, 24 Nov 2015 17:45:32 +0100 Subject: [PATCH] upd: show timezone in outptu timestamps, Find domain handle org doms --- src/org/cacert/gigi/dbObjects/Domain.java | 8 ++++---- .../cacert/gigi/output/template/Template.java | 1 + .../gigi/pages/admin/support/FindDomainForm.java | 16 +++++++++------- .../gigi/pages/admin/support/FindDomainPage.java | 12 +++++++++++- 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/org/cacert/gigi/dbObjects/Domain.java b/src/org/cacert/gigi/dbObjects/Domain.java index 1d31db61..78ebc9bb 100644 --- a/src/org/cacert/gigi/dbObjects/Domain.java +++ b/src/org/cacert/gigi/dbObjects/Domain.java @@ -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; } } } diff --git a/src/org/cacert/gigi/output/template/Template.java b/src/org/cacert/gigi/output/template/Template.java index 01d5bbd3..fc3bf785 100644 --- a/src/org/cacert/gigi/output/template/Template.java +++ b/src/org/cacert/gigi/output/template/Template.java @@ -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()))); } diff --git a/src/org/cacert/gigi/pages/admin/support/FindDomainForm.java b/src/org/cacert/gigi/pages/admin/support/FindDomainForm.java index dca6b34d..f4085514 100644 --- a/src/org/cacert/gigi/pages/admin/support/FindDomainForm.java +++ b/src/org/cacert/gigi/pages/admin/support/FindDomainForm.java @@ -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; } } diff --git a/src/org/cacert/gigi/pages/admin/support/FindDomainPage.java b/src/org/cacert/gigi/pages/admin/support/FindDomainPage.java index 8f0830bb..ac3d9f73 100644 --- a/src/org/cacert/gigi/pages/admin/support/FindDomainPage.java +++ b/src/org/cacert/gigi/pages/admin/support/FindDomainPage.java @@ -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 -- 2.39.2