]> WPIA git - gigi.git/commitdiff
ADD: SuupportedUser object for support actions
authorJanis Streib <janis@dogcraft.de>
Fri, 16 Jan 2015 13:52:49 +0000 (14:52 +0100)
committerJanis Streib <janis@dogcraft.de>
Wed, 21 Jan 2015 00:28:15 +0000 (01:28 +0100)
src/org/cacert/gigi/dbObjects/SupportedUser.java [new file with mode: 0644]

diff --git a/src/org/cacert/gigi/dbObjects/SupportedUser.java b/src/org/cacert/gigi/dbObjects/SupportedUser.java
new file mode 100644 (file)
index 0000000..4ee1210
--- /dev/null
@@ -0,0 +1,46 @@
+package org.cacert.gigi.dbObjects;
+
+import java.sql.Date;
+
+import org.cacert.gigi.database.DatabaseConnection;
+import org.cacert.gigi.database.GigiPreparedStatement;
+
+public class SupportedUser {
+
+    private User target, supporter;
+
+    private String ticket;
+
+    public SupportedUser(User target, User supporter, String ticket) {
+        this.supporter = supporter;
+        this.target = target;
+    }
+
+    public void setName(String fname, String mname, String lname, String suffix) {
+        writeSELog("SE Name change");
+        target.setName(new Name(fname, lname, mname, suffix));
+    }
+
+    public void setDob(Date dob) {
+        writeSELog("SE dob change");
+        target.setDob(dob);
+    }
+
+    public void revokeAllCertificates() {
+        writeSELog("SE Revoke certificates");
+        Certificate[] certs = target.getCertificates(false);
+        for (int i = 0; i < certs.length; i++) {
+            certs[i].revoke();
+        }
+    }
+
+    public void writeSELog(String type) {
+        GigiPreparedStatement prep = DatabaseConnection.getInstance().prepare("INSERT INTO adminLog SET uid=?, admin=?, type=?, information=?");
+        prep.setInt(1, target.getId());
+        prep.setInt(2, supporter.getId());
+        prep.setString(3, type);
+        prep.setString(4, ticket);
+        prep.executeUpdate();
+    }
+
+}