X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fwot%2FAssuranceForm.java;h=3df399426afb2411fd15b3e4fd8e3e1375e8773a;hp=d1d5111694884b6079e2ce6ebe85c63239fcdf4b;hb=e409ba881965634f63f0b67824bc93dda4ec4327;hpb=15284bd894484c5d692b3a84faefcf34bac89bde diff --git a/src/org/cacert/gigi/pages/wot/AssuranceForm.java b/src/org/cacert/gigi/pages/wot/AssuranceForm.java index d1d51116..3df39942 100644 --- a/src/org/cacert/gigi/pages/wot/AssuranceForm.java +++ b/src/org/cacert/gigi/pages/wot/AssuranceForm.java @@ -10,103 +10,95 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; -import org.cacert.gigi.Language; -import org.cacert.gigi.User; +import org.cacert.gigi.dbObjects.User; +import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.Form; -import org.cacert.gigi.output.Template; -import org.cacert.gigi.pages.LoginPage; +import org.cacert.gigi.output.template.Template; +import org.cacert.gigi.pages.Page; import org.cacert.gigi.util.Notary; import org.cacert.gigi.util.Notary.AssuranceResult; public class AssuranceForm extends Form { - User assuree; - static final Template templ; - static { - templ = new Template(AssuranceForm.class.getResource("AssuranceForm.templ")); - } - public AssuranceForm(HttpServletRequest hsr, int assuree) { - super(hsr); - this.assuree = new User(assuree); - } + private User assuree; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + private static final Template templ; + static { + templ = new Template(AssuranceForm.class.getResource("AssuranceForm.templ")); + } - @Override - public void outputContent(PrintWriter out, Language l, Map vars) { - HashMap res = new HashMap(); - res.putAll(vars); - res.put("name", assuree.getName()); - try { - res.put("maxpoints", assuree.getMaxAssurePoints()); - } catch (SQLException e) { - e.printStackTrace(); - } - res.put("dob", sdf.format(assuree.getDob())); - templ.output(out, l, res); - } + public AssuranceForm(HttpServletRequest hsr, int assuree) { + super(hsr); + this.assuree = new User(assuree); + } - @Override - public boolean submit(PrintWriter out, HttpServletRequest req) { - checkCSRF(req); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - out.println("
"); - boolean failed = false; + SimpleDateFormat sdf2 = new SimpleDateFormat("dd. MMM yyyy"); - 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; + @Override + public void outputContent(PrintWriter out, Language l, Map vars) { + HashMap res = new HashMap(); + res.putAll(vars); + res.put("nameExplicit", assuree.getName()); + res.put("name", assuree.getName().toString()); + try { + res.put("maxpoints", assuree.getMaxAssurePoints()); + } catch (SQLException e) { + e.printStackTrace(); + } + res.put("dob", sdf.format(assuree.getDob())); + res.put("dobFmt2", sdf2.format(assuree.getDob())); + templ.output(out, l, res); + } - } - 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 - String points = req.getParameter("points"); - if (points == null || "".equals(points)) { - // TODO message - failed = true; - } - if (failed) { - out.println("
"); - return false; - } - try { - AssuranceResult success = Notary.assure(LoginPage.getUser(req), assuree, - Integer.parseInt(req.getParameter("points")), req.getParameter("location"), req.getParameter("date")); - if (success != AssuranceResult.ASSURANCE_SUCCEDED) { - outputError(out, req, success.getMessage()); - } - out.println(""); - return success == AssuranceResult.ASSURANCE_SUCCEDED; - } catch (SQLException e) { - e.printStackTrace(); - } + @Override + public boolean submit(PrintWriter out, HttpServletRequest req) { + 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"); - out.println(""); - return false; - } + } + if (req.getParameter("date") == null || req.getParameter("date").equals("")) { + outputError(out, req, "You must enter the date when you met the assuree."); + } 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."); + } + } catch (ParseException e) { + outputError(out, req, "You must enter the date in this format: YYYY-MM-DD."); + } + } + // 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."); + } else if (req.getParameter("location").length() <= 2) { + outputError(out, req, "You must enter a location with at least 3 characters eg town and country."); + } + // TODO checkPoints + String points = req.getParameter("points"); + if (points == null || "".equals(points)) { + outputError(out, req, "For an assurance, you need to enter points."); + } + if (isFailed(out)) { + return false; + } + try { + AssuranceResult success = Notary.assure(Page.getUser(req), assuree, Integer.parseInt(req.getParameter("points")), req.getParameter("location"), req.getParameter("date")); + if (success != AssuranceResult.ASSURANCE_SUCCEDED) { + outputError(out, req, success.getMessage()); + } + return success == AssuranceResult.ASSURANCE_SUCCEDED; + } catch (SQLException e) { + e.printStackTrace(); + } + + return false; + } + + public User getAssuree() { + return assuree; + } }