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=35fa8f2432dcd6b8c86ef766fdddb9951cceed01;hb=abff88a2bf173198fe55c35ead97c9c7cdb5924c;hpb=17a15662212d973d12ed4cea3f5eaa9c0d1169ed diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java b/src/org/cacert/gigi/pages/admin/support/FindUserByDomainForm.java index 35fa8f24..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(HttpServletRequest req) throws GigiApiException { + public SubmissionResult submit(HttpServletRequest req) throws GigiApiException { String request = req.getParameter("domain"); Domain d = null; if (request.matches("#[0-9]+")) { @@ -40,7 +56,13 @@ public class FindUserByDomainForm extends Form { 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