]> WPIA git - gigi.git/blob - src/club/wpia/gigi/pages/main/RegisterPage.java
upd: use a link-redirector for all external links.
[gigi.git] / src / club / wpia / gigi / pages / main / RegisterPage.java
1 package club.wpia.gigi.pages.main;
2
3 import java.io.IOException;
4 import java.util.Map;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import club.wpia.gigi.output.template.Form;
10 import club.wpia.gigi.pages.Page;
11 import club.wpia.gigi.util.AuthorizationContext;
12 import club.wpia.gigi.util.RateLimit;
13
14 public class RegisterPage extends Page {
15
16     public static final String PATH = "/register";
17
18     // 50 per 5 min
19     public static final RateLimit RATE_LIMIT = new RateLimit(50, 5 * 60 * 1000);
20
21     public RegisterPage() {
22         super("Register");
23     }
24
25     @Override
26     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
27         Signup s = new Signup(req);
28         outputGet(req, resp, s);
29     }
30
31     private void outputGet(HttpServletRequest req, HttpServletResponse resp, Signup s) throws IOException {
32         Map<String, Object> vars = getDefaultVars(req);
33         getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
34         s.output(resp.getWriter(), getLanguage(req), vars);
35     }
36
37     @Override
38     public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
39         return Form.getForm(req, Signup.class).submitExceptionProtected(req, resp);
40     }
41
42     @Override
43     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
44         if (Form.printFormErrors(req, resp.getWriter())) {
45             Signup s = Form.getForm(req, Signup.class);
46             outputGet(req, resp, s);
47         }
48     }
49
50     @Override
51     public boolean needsLogin() {
52         return false;
53     }
54
55     @Override
56     public boolean isPermitted(AuthorizationContext ac) {
57         return ac == null;
58     }
59 }