X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Fwot%2FAssuranceForm.java;h=36e5247ca87191281c473d7f07b8c19653d08570;hp=e3dfe54c106f04b05b2635f259a092ac3c79a9d8;hb=4b91927aa8d90226414872ce5b3006d0e0f5d273;hpb=3a3adaeea6980f1bd175939f2215cd2422af8573 diff --git a/src/org/cacert/gigi/pages/wot/AssuranceForm.java b/src/org/cacert/gigi/pages/wot/AssuranceForm.java index e3dfe54c..36e5247c 100644 --- a/src/org/cacert/gigi/pages/wot/AssuranceForm.java +++ b/src/org/cacert/gigi/pages/wot/AssuranceForm.java @@ -1,8 +1,6 @@ package org.cacert.gigi.pages.wot; import java.io.PrintWriter; -import java.sql.SQLException; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; @@ -10,41 +8,48 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; -import org.cacert.gigi.User; +import org.cacert.gigi.GigiApiException; +import org.cacert.gigi.dbObjects.Name; +import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; -import org.cacert.gigi.output.Form; +import org.cacert.gigi.output.template.Form; 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; + private User assuree; - static final Template templ; + private Name assureeName; + + private Date dob; + + private static final Template templ; static { templ = new Template(AssuranceForm.class.getResource("AssuranceForm.templ")); } - public AssuranceForm(HttpServletRequest hsr, int assuree) { + public AssuranceForm(HttpServletRequest hsr, User assuree) { super(hsr); - this.assuree = new User(assuree); + this.assuree = assuree; + assureeName = this.assuree.getName(); + dob = this.assuree.getDoB(); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf2 = new SimpleDateFormat("dd. MMM yyyy"); + @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())); + res.put("nameExplicit", assuree.getName()); + res.put("name", assuree.getName().toString()); + res.put("maxpoints", assuree.getMaxAssurePoints()); + res.put("dob", sdf.format(assuree.getDoB())); + res.put("dobFmt2", sdf2.format(assuree.getDoB())); templ.output(out, l, res); } @@ -54,43 +59,33 @@ public class AssuranceForm extends Form { outputError(out, req, "You failed to check all boxes to validate" + " your adherence to the rules and policies of CAcert"); } - 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 + int pointsI = 0; String points = req.getParameter("points"); if (points == null || "".equals(points)) { outputError(out, req, "For an assurance, you need to enter points."); + } else { + try { + pointsI = Integer.parseInt(points); + } catch (NumberFormatException e) { + outputError(out, req, "The points entered were not a number."); + } } + 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(); + Notary.assure(Page.getUser(req), assuree, assureeName, dob, pointsI, req.getParameter("location"), req.getParameter("date")); + return true; + } catch (GigiApiException e) { + e.format(out, Page.getLanguage(req)); } return false; } + public User getAssuree() { + return assuree; + } + }