]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/wot/AssuranceForm.java
Fix visuals, output maxpoints
[gigi.git] / src / org / cacert / gigi / pages / wot / AssuranceForm.java
index b57f73c2cb8b7c4b8525c81390c0a2126de12c17..b3546fb9a54f330dce38c771688e7db2388cf4d2 100644 (file)
@@ -2,6 +2,7 @@ package org.cacert.gigi.pages.wot;
 
 import java.io.InputStreamReader;
 import java.io.PrintWriter;
+import java.sql.SQLException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -14,6 +15,8 @@ import org.cacert.gigi.Language;
 import org.cacert.gigi.User;
 import org.cacert.gigi.output.Form;
 import org.cacert.gigi.output.Template;
+import org.cacert.gigi.pages.LoginPage;
+import org.cacert.gigi.util.Notary;
 
 public class AssuranceForm extends Form {
        User assuree;
@@ -33,6 +36,11 @@ public class AssuranceForm extends Form {
                HashMap<String, Object> res = new HashMap<String, Object>();
                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);
        }
@@ -82,11 +90,30 @@ public class AssuranceForm extends Form {
                        failed = true;
                }
                // TODO checkPoints
-               out.println("</div>");
+               String points = req.getParameter("points");
+               if (points == null || "".equals(points)) {
+                       // TODO message
+                       failed = true;
+               }
                if (failed) {
+                       out.println("</div>");
                        return false;
                }
+               try {
+                       boolean success = Notary.assure(LoginPage.getUser(req), assuree,
+                                       Integer.parseInt(req.getParameter("points")),
+                                       req.getParameter("location"), req.getParameter("date"));
+                       if (!success) {
+                               outputError(out, req,
+                                               "Assurance failed. Maybe user data changed.");
+                       }
+                       out.println("</div>");
+                       return success;
+               } catch (SQLException e) {
+                       e.printStackTrace();
+               }
 
+               out.println("</div>");
                return false;
        }
 }