]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/User.java
Filter certificate profiles in the issue form.
[gigi.git] / src / org / cacert / gigi / dbObjects / User.java
index b67da929b79ced837ada340b3fa1275f595c964c..7a4ce0dff34616ffac66906b2635ff36949cd646 100644 (file)
@@ -124,7 +124,7 @@ public class User implements IdCachable {
         if (id != 0) {
             throw new Error("refusing to insert");
         }
-        GigiPreparedStatement query = DatabaseConnection.getInstance().prepare("insert into `users` set `email`=?, `password`=?, " + "`fname`=?, `mname`=?, `lname`=?, " + "`suffix`=?, `dob`=?, `created`=NOW(), locked=0, `language`=?");
+        GigiPreparedStatement query = DatabaseConnection.getInstance().prepare("insert into `users` set `email`=?, `password`=?, " + "`fname`=?, `mname`=?, `lname`=?, " + "`suffix`=?, `dob`=?, `created`=NOW(), `language`=?");
         query.setString(1, email);
         query.setString(2, PasswordHash.hash(password));
         query.setString(3, name.fname);
@@ -513,4 +513,20 @@ public class User implements IdCachable {
         }
         return u;
     }
+
+    public boolean canIssue(CertificateProfile p) {
+        switch (p.getCAId()) {
+        case 0:
+            return true;
+        case 1:
+            return getAssurancePoints() > 50;
+        case 2:
+            return getAssurancePoints() > 50 && isInGroup(Group.getByString("codesigning"));
+        case 3:
+        case 4:
+            return false; // has an orga
+        default:
+            return false;
+        }
+    }
 }