]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/wot/RequestTTPForm.java
upd: enforce a more strict Form call pattern.
[gigi.git] / src / org / cacert / gigi / pages / wot / RequestTTPForm.java
index eae49e6e820ab0fcc82f30c83b20b05fb557b3c2..7348346fc30a35fc4831803d01a15e20f2e9867a 100644 (file)
@@ -12,11 +12,12 @@ import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.template.Form;
 import org.cacert.gigi.output.template.OutputableArrayIterable;
 import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.output.template.TranslateCommand;
 import org.cacert.gigi.pages.LoginPage;
 
 public class RequestTTPForm extends Form {
 
-    public static final Group TTP_APPLICANT = Group.getByString("ttp-applicant");
+    public static final Group TTP_APPLICANT = Group.TTP_APPLICANT;
 
     private static final Template t = new Template(RequestTTPForm.class.getResource("RequestTTPForm.templ"));
 
@@ -32,7 +33,7 @@ public class RequestTTPForm extends Form {
     };
 
     @Override
-    public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
+    public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
         String country = req.getParameter("country");
         if (country != null) {
             int cid = Integer.parseInt(country);
@@ -41,10 +42,16 @@ public class RequestTTPForm extends Form {
             }
             country = COUNTRIES[cid];
         }
-        User u = LoginPage.getUser(req);
-        u.grantGroup(u, TTP_APPLICANT);
+        // TODO use country?
+
+        User uReq = LoginPage.getUser(req);
 
-        return false;
+        if ( !u.equals(uReq)) {
+            throw new GigiApiException("Internal logic error.");
+        }
+
+        u.grantGroup(u, TTP_APPLICANT);
+        return new SuccessMessageResult(new TranslateCommand("Successfully applied for TTP."));
     }
 
     @Override