X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Fadmin%2Fsupport%2FFindUserByEmailForm.java;fp=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Fadmin%2Fsupport%2FFindUserByEmailForm.java;h=c1cc44ced0204873a00c51574a90cd91ce6f911e;hp=0000000000000000000000000000000000000000;hb=bccd4cc0dba0f89aa045b113bac46eb8cc1dab4e;hpb=c9ed09f0007fc2c813815be927a5a24b23dab83c diff --git a/src/club/wpia/gigi/pages/admin/support/FindUserByEmailForm.java b/src/club/wpia/gigi/pages/admin/support/FindUserByEmailForm.java new file mode 100644 index 00000000..c1cc44ce --- /dev/null +++ b/src/club/wpia/gigi/pages/admin/support/FindUserByEmailForm.java @@ -0,0 +1,50 @@ +package club.wpia.gigi.pages.admin.support; + +import java.io.PrintWriter; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import club.wpia.gigi.GigiApiException; +import club.wpia.gigi.dbObjects.EmailAddress; +import club.wpia.gigi.localisation.Language; +import club.wpia.gigi.output.template.Form; +import club.wpia.gigi.output.template.SprintfCommand; +import club.wpia.gigi.output.template.Template; + +public class FindUserByEmailForm extends Form { + + public static class FindEmailResult extends SuccessMessageResult { + + private final EmailAddress[] emails; + + public FindEmailResult(EmailAddress[] emails) { + super(null); + this.emails = emails; + } + + public EmailAddress[] getEmails() { + return emails; + } + } + + private static final Template t = new Template(FindUserByDomainForm.class.getResource("FindUserByEmailForm.templ")); + + public FindUserByEmailForm(HttpServletRequest hsr) { + super(hsr); + } + + @Override + public SubmissionResult submit(HttpServletRequest req) throws GigiApiException { + EmailAddress[] emails = EmailAddress.findByAllEmail(req.getParameter("email")); + if (emails.length == 0) { + throw new GigiApiException(SprintfCommand.createSimple("No users found matching {0}", req.getParameter("email"))); + } + return new FindUserByEmailForm.FindEmailResult(emails); + } + + @Override + protected void outputContent(PrintWriter out, Language l, Map vars) { + t.output(out, l, vars); + } +}