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.PlainOutputable;
import org.cacert.gigi.output.template.Template;
import org.cacert.gigi.pages.Page;
public class MailAddForm extends Form {
- private static Template t;
+ private static final Template t = new Template(MailAddForm.class.getResource("MailAddForm.templ"));;
private String mail;
- static {
- t = new Template(MailAddForm.class.getResource("MailAddForm.templ"));
- }
private User target;
}
@Override
- public boolean submit(PrintWriter out, HttpServletRequest req) {
+ public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
String formMail = req.getParameter("newemail");
mail = formMail;
try {
- EmailAddress addr = new EmailAddress(target, mail);
- addr.insert(Page.getLanguage(req));
+ new EmailAddress(target, mail, Page.getLanguage(req).getLocale());
} catch (IllegalArgumentException e) {
- out.println("<div class='formError'>Error: Invalid address!</div>");
- return false;
- } catch (GigiApiException e) {
- e.format(out, Page.getLanguage(req));
- return false;
+ throw new GigiApiException(new PlainOutputable("Invalid address."));
}
- return true;
+ return new RedirectResult(MailOverview.DEFAULT_PATH);
}
@Override