]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/Organisation.java
upd: Reduce Boilerplate in translated SprintfCommands
[gigi.git] / src / org / cacert / gigi / dbObjects / Organisation.java
index ae99b115bfe498770985e6e8a686c70654da15ea..36119424e3fe9ff41cb7bcbd0207723f08b36086 100644 (file)
@@ -7,10 +7,12 @@ import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.database.GigiPreparedStatement;
 import org.cacert.gigi.database.GigiResultSet;
 import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
+import org.cacert.gigi.dbObjects.wrappers.DataContainer;
 
 public class Organisation extends CertificateOwner {
 
-    public class Affiliation {
+    @DataContainer
+    public static class Affiliation {
 
         private final User target;
 
@@ -18,7 +20,10 @@ public class Organisation extends CertificateOwner {
 
         private final String fixedOU;
 
-        public Affiliation(User target, boolean master, String fixedOU) {
+        private Organisation o;
+
+        public Affiliation(Organisation o, User target, boolean master, String fixedOU) {
+            this.o = o;
             this.target = target;
             this.master = master;
             this.fixedOU = fixedOU;
@@ -37,7 +42,7 @@ public class Organisation extends CertificateOwner {
         }
 
         public Organisation getOrganisation() {
-            return Organisation.this;
+            return o;
         }
     }
 
@@ -156,7 +161,7 @@ public class Organisation extends CertificateOwner {
             ArrayList<Affiliation> al = new ArrayList<>(rs.getRow());
             rs.beforeFirst();
             while (rs.next()) {
-                al.add(new Affiliation(User.getById(rs.getInt(1)), rs.getString(2).equals("y"), null));
+                al.add(new Affiliation(this, User.getById(rs.getInt(1)), rs.getString(2).equals("y"), null));
             }
             return al;
         }
@@ -184,13 +189,14 @@ public class Organisation extends CertificateOwner {
                 cert.revoke();
             }
         }
-        try (GigiPreparedStatement ps = new GigiPreparedStatement("UPDATE `organisations` SET `name`=?, `state`=?, `province`=?, `city`=?, `contactEmail`=?")) {
+        try (GigiPreparedStatement ps = new GigiPreparedStatement("UPDATE `organisations` SET `name`=?, `state`=?, `province`=?, `city`=?, `contactEmail`=? WHERE `id`=?")) {
             ps.setString(1, o);
             ps.setString(2, c);
             ps.setString(3, st);
             ps.setString(4, l);
             ps.setString(5, mail);
-            ps.execute();
+            ps.setInt(6, getId());
+            ps.executeUpdate();
         }
         email = mail;
         name = o;
@@ -212,4 +218,10 @@ public class Organisation extends CertificateOwner {
     public boolean isValidEmail(String email) {
         return isValidDomain(email.split("@", 2)[1]);
     }
+
+    public static final String SELF_ORG_NAME = "SomeCA";
+
+    public boolean isSelfOrganisation() {
+        return SELF_ORG_NAME.equals(getName());
+    }
 }