pages.put("/", new MainPage("CACert - Home"));
pages.put("/secure", new TestSecure());
pages.put(Verify.PATH, new Verify());
- pages.put(AssurePage.PATH, new AssurePage());
+ pages.put(AssurePage.PATH + "/*", new AssurePage());
pages.put(MailCertificates.PATH, new MailCertificates());
pages.put(MyDetails.PATH, new MyDetails());
pages.put(RegisterPage.PATH, new RegisterPage());
import java.io.InputStreamReader;
import java.io.PrintWriter;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
res.put("name", assuree.getName());
templ.output(out, l, res);
}
+ SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) {
- if (!"1".equals(req.getAttribute("certify"))) {
- // s
+ out.println("<div class='formError'>");
+ boolean failed = false;
+ if (!"1".equals(req.getParameter("certify"))
+ || !"1".equals(req.getParameter("rules"))
+ || !"1".equals(req.getParameter("CCAAgreed"))
+ || !"1".equals(req.getParameter("assertion"))) {
+ outputError(out, req, "You failed to check all boxes to validate"
+ + " your adherence to the rules and policies of CAcert");
+ failed = true;
+
+ }
+ if (req.getParameter("date") == null
+ || req.getParameter("date").equals("")) {
+ outputError(out, req,
+ "You must enter the date when you met the assuree.");
+ failed = true;
+ } else {
+ try {
+ Date d = sdf.parse(req.getParameter("date"));
+ if (d.getTime() > System.currentTimeMillis()) {
+ outputError(out, req,
+ "You must not enter a date in the future.");
+ failed = true;
+ }
+ } catch (ParseException e) {
+ outputError(out, req,
+ "You must enter the date in this format: YYYY-MM-DD.");
+ failed = true;
+ }
+ }
+ // check location, min 3 characters
+ if (req.getParameter("location") == null
+ || req.getParameter("location").equals("")) {
+ outputError(out, req,
+ "You failed to enter a location of your meeting.");
+ failed = true;
+ } else if (req.getParameter("location").length() <= 2) {
+ outputError(out, req,
+ "You must enter a location with at least 3 characters eg town and country.");
+ failed = true;
}
+ // TODO checkPoints
+ out.println("</div>");
+ if (failed) {
+ return false;
+ }
+
return false;
}
}
import org.cacert.gigi.pages.Page;
public class AssurePage extends Page {
- public static final String PATH = "/wot/assure/*";
+ public static final String PATH = "/wot/assure";
public static final String SESSION = "/wot/assure/FORM";
DateSelector ds = new DateSelector("day", "month", "year");
Template t;
throws IOException {
PrintWriter out = resp.getWriter();
- String pi = req.getPathInfo().substring(PATH.length() - 2);
+ String pi = req.getPathInfo().substring(PATH.length());
if (pi.length() > 1) {
User myself = LoginPage.getUser(req);
int mid = Integer.parseInt(pi.substring(1));
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
PrintWriter out = resp.getWriter();
- String pi = req.getPathInfo().substring(PATH.length() - 2);
+ String pi = req.getPathInfo().substring(PATH.length());
if (pi.length() > 1) {
AssuranceForm form = (AssuranceForm) req.getSession().getAttribute(
SESSION);
if (form == null) {
out.println("No form found. This is an Error. Fill in the form again.");
+ return;
}
form.submit(out, req);
int id = 0;
if (rs.next()) {
id = rs.getInt(1);
- }
- if (rs.next()) {
- out.println("Error, ambigous user. Please contact support@cacert.org");
+ if (rs.next()) {
+ out.println("Error, ambigous user. Please contact support@cacert.org.");
+ } else {
+ resp.sendRedirect(PATH + "/" + id);
+ }
} else {
- resp.sendRedirect(PATH.substring(0, PATH.length() - 2) + "/"
- + id);
+ out.print("<div class='formError'>");
+ out.println(translate(
+ req,
+ "I'm sorry, there was no email and date of birth matching"
+ + " what you entered in the system. Please double check"
+ + " your information."));
+ out.print("</div>");
}
rs.close();