]> WPIA git - gigi.git/blob - src/org/cacert/gigi/dbObjects/SupportedUser.java
Empty: rename fname,mname,lname,dob
[gigi.git] / src / org / cacert / gigi / dbObjects / SupportedUser.java
1 package org.cacert.gigi.dbObjects;
2
3 import java.sql.Date;
4
5 import org.cacert.gigi.database.DatabaseConnection;
6 import org.cacert.gigi.database.GigiPreparedStatement;
7
8 public class SupportedUser {
9
10     private User target, supporter;
11
12     private String ticket;
13
14     public SupportedUser(User target, User supporter, String ticket) {
15         this.supporter = supporter;
16         this.target = target;
17         this.ticket = ticket;
18     }
19
20     public void setName(String fname, String mname, String lname, String suffix) {
21         writeSELog("SE Name change");
22         target.setName(new Name(fname, lname, mname, suffix));
23     }
24
25     public void setDob(Date dob) {
26         writeSELog("SE dob change");
27         target.setDoB(dob);
28     }
29
30     public void revokeAllCertificates() {
31         writeSELog("SE Revoke certificates");
32         Certificate[] certs = target.getCertificates(false);
33         for (int i = 0; i < certs.length; i++) {
34             certs[i].revoke();
35         }
36     }
37
38     public void writeSELog(String type) {
39         GigiPreparedStatement prep = DatabaseConnection.getInstance().prepare("INSERT INTO adminLog SET uid=?, admin=?, type=?, information=?");
40         prep.setInt(1, target.getId());
41         prep.setInt(2, supporter.getId());
42         prep.setString(3, type);
43         prep.setString(4, ticket);
44         prep.executeUpdate();
45     }
46
47     public int getId() {
48         return target.getId();
49     }
50
51     public Certificate[] getCertificates(boolean includeRevoked) {
52         return target.getCertificates(includeRevoked);
53     }
54
55     public String getTicket() {
56         return ticket;
57     }
58
59 }