1 package org.cacert.gigi.pages.wot;
3 import java.io.PrintWriter;
6 import javax.servlet.http.HttpServletRequest;
8 import org.cacert.gigi.GigiApiException;
9 import org.cacert.gigi.dbObjects.Group;
10 import org.cacert.gigi.dbObjects.User;
11 import org.cacert.gigi.localisation.Language;
12 import org.cacert.gigi.output.template.Form;
13 import org.cacert.gigi.output.template.OutputableArrayIterable;
14 import org.cacert.gigi.output.template.Template;
15 import org.cacert.gigi.pages.LoginPage;
17 public class RequestTTPForm extends Form {
19 public static final Group TTP_APPLICANT = Group.getByString("ttp-applicant");
21 private static final Template t = new Template(RequestTTPForm.class.getResource("RequestTTPForm.templ"));
25 public RequestTTPForm(HttpServletRequest hsr) {
27 u = LoginPage.getUser(hsr);
30 private final String[] COUNTRIES = new String[] {
31 "Australia", "Puerto Rico", "USA"
35 public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
36 String country = req.getParameter("country");
37 if (country != null) {
38 int cid = Integer.parseInt(country);
39 if (cid < 0 || cid >= COUNTRIES.length) {
40 throw new GigiApiException("Invalid country id");
42 country = COUNTRIES[cid];
45 User uReq = LoginPage.getUser(req);
47 if ( !u.equals(uReq)) {
51 u.grantGroup(u, TTP_APPLICANT);
57 protected void outputContent(PrintWriter out, Language l, Map<String, Object> map) {
58 map.put("countries", new OutputableArrayIterable(COUNTRIES, "country"));
60 t.output(out, l, map);