]> WPIA git - gigi.git/commitdiff
assert a minimum age while signup
authorFelix Dörre <felix@dogcraft.de>
Thu, 26 May 2016 19:19:16 +0000 (21:19 +0200)
committerFelix Dörre <felix@dogcraft.de>
Thu, 9 Jun 2016 07:42:49 +0000 (09:42 +0200)
Change-Id: I83e40b1cb235ff63fcc0c68bf67a8d5d39d57989

src/org/cacert/gigi/dbObjects/User.java
src/org/cacert/gigi/pages/main/Signup.java

index 99d44a7c3674a1b6fcc329e76be731bc5de90025..8f7c3f148cc4cdc1a18b5e5b25a6aa7e2fb293c2 100644 (file)
@@ -39,6 +39,8 @@ public class User extends CertificateOwner {
 
     private final Set<Group> groups = new HashSet<>();
 
+    public static final int MINIMUM_AGE = 16;
+
     protected User(GigiResultSet rs) {
         super(rs.getInt("id"));
         updateName(rs);
index 52fddbebbd2f022484ce61bc26b339701c5b569f..75a14cfe0a5e16717082fc758add697912581ecd 100644 (file)
@@ -19,6 +19,7 @@ import org.cacert.gigi.output.DateSelector;
 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.CalendarUtil;
 import org.cacert.gigi.util.HTMLEncoder;
 import org.cacert.gigi.util.Notary;
 import org.cacert.gigi.util.PasswordStrengthChecker;
@@ -98,6 +99,11 @@ public class Signup extends Form {
         if ( !myDoB.isValid()) {
             outputError(out, req, "Invalid date of birth");
         }
+
+        if ( !CalendarUtil.isOfAge(myDoB.getDate(), User.MINIMUM_AGE)) {
+            outputError(out, req, "Entered dated of birth is below the restricted age requirements.");
+        }
+
         if ( !"1".equals(req.getParameter("tos_agree"))) {
             outputError(out, req, "Acceptance of the ToS is required to continue.");
         }