X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fadmin%2Fsupport%2FFindUserByEmailPage.java;h=9d731712cb9df146018f48ba14c293ba0b8d23a3;hp=85e69a33fb6fa87697114c27d1dcb71e7428ab88;hb=abff88a2bf173198fe55c35ead97c9c7cdb5924c;hpb=e532afba9a4373f06992a72c693b5495b7046c53 diff --git a/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java b/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java index 85e69a33..9d731712 100644 --- a/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java +++ b/src/org/cacert/gigi/pages/admin/support/FindUserByEmailPage.java @@ -7,11 +7,11 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.GigiApiException; import org.cacert.gigi.dbObjects.EmailAddress; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Form; import org.cacert.gigi.output.template.IterableDataset; +import org.cacert.gigi.output.template.Template; import org.cacert.gigi.pages.Page; import org.cacert.gigi.util.AuthorizationContext; @@ -19,28 +19,32 @@ public class FindUserByEmailPage extends Page { public static final String PATH = "/support/find/email"; + private static final Template USERTABLE = new Template(FindUserByDomainPage.class.getResource("FindUserByEmailUsertable.templ")); + public FindUserByEmailPage() { super("Find Email"); } @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - HashMap vars = new HashMap(); - vars.put("first", true); - new FindUserByEmailForm(req).output(resp.getWriter(), Page.getLanguage(req), vars); + new FindUserByEmailForm(req).output(resp.getWriter(), Page.getLanguage(req), new HashMap()); + } + + @Override + public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException { + return Form.getForm(req, FindUserByEmailForm.class).submitExceptionProtected(req, resp); } @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { - FindUserByEmailForm form = Form.getForm(req, FindUserByEmailForm.class); - try { - form.submit(resp.getWriter(), req); - final EmailAddress[] emails = form.getEmails(); + if (Form.printFormErrors(req, resp.getWriter())) { + Form.getForm(req, FindUserByEmailForm.class).output(resp.getWriter(), getLanguage(req), new HashMap()); + } else { + final EmailAddress[] emails = ((FindUserByEmailForm.FindEmailResult) req.getAttribute(Form.SUBMIT_RESULT)).getEmails(); if (emails.length == 1) { resp.sendRedirect(SupportUserDetailsPage.PATH + emails[0].getOwner().getId() + "/"); } else { HashMap vars = new HashMap(); - vars.put("first", false); vars.put("usertable", new IterableDataset() { int i = 0; @@ -56,11 +60,8 @@ public class FindUserByEmailPage extends Page { return true; } }); - form.output(resp.getWriter(), getLanguage(req), vars); + USERTABLE.output(resp.getWriter(), getLanguage(req), vars); } - } catch (GigiApiException e) { - e.format(resp.getWriter(), Page.getLanguage(req)); - doGet(req, resp); } }