X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fadmin%2Fsupport%2FFindUserByDomainForm.java;h=9aae447036155ec8e4dd4e986b49f0db239591fe;hp=779b0026bb83aeefbdbc98c4ff80defc5559d363;hb=abff88a2bf173198fe55c35ead97c9c7cdb5924c;hpb=db5449730f0f774b43a72a5d553bef34ade30e91 diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java b/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java index 779b0026..9aae4470 100644 --- a/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java +++ b/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java @@ -8,6 +8,8 @@ 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.dbObjects.Organisation; +import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Form; import org.cacert.gigi.output.template.SprintfCommand; @@ -15,6 +17,20 @@ import org.cacert.gigi.output.template.Template; public class FindUserByDomainForm extends Form { + public static class FindDomainResult extends SuccessMessageResult { + + private final CertificateOwner owner; + + public FindDomainResult(CertificateOwner owner) { + super(null); + this.owner = owner; + } + + public CertificateOwner getOwner() { + return owner; + } + } + private CertificateOwner res = null; private static final Template t = new Template(FindUserByDomainForm.class.getResource("FindUserByDomainForm.templ")); @@ -24,7 +40,7 @@ public class FindUserByDomainForm extends Form { } @Override - public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException { + public SubmissionResult submit(HttpServletRequest req) throws GigiApiException { String request = req.getParameter("domain"); Domain d = null; if (request.matches("#[0-9]+")) { @@ -34,13 +50,19 @@ public class FindUserByDomainForm extends Form { throw new GigiApiException(SprintfCommand.createSimple("No personal domains found matching the id {0}", request.substring(1))); } } else { - d = Domain.searchUserIdByDomain(request); + d = Domain.searchDomain(request); } if (d == null) { throw new GigiApiException(SprintfCommand.createSimple("No personal domains found matching {0}", request)); } res = d.getOwner(); - return true; + if (res instanceof User) { + return new RedirectResult(SupportUserDetailsPage.PATH + res.getId() + "/"); + } else if (res instanceof Organisation) { + return new RedirectResult("/support/domain/" + res.getId()); + } else { + throw new PermamentFormException(new GigiApiException("Unknown owner type.")); + } } @Override