]> WPIA git - gigi.git/blobdiff - src/club/wpia/gigi/output/CertificateIterable.java
add: handling of who issued a certificate
[gigi.git] / src / club / wpia / gigi / output / CertificateIterable.java
index 6d12a3da2d1e190a4d859c8c60ff098046406a81..4ff458e9c8c993e410c2e6c0769a50abf705d711 100644 (file)
@@ -6,6 +6,7 @@ import java.security.cert.X509Certificate;
 import java.util.Date;
 import java.util.Map;
 
+import club.wpia.gigi.GigiApiException;
 import club.wpia.gigi.dbObjects.Certificate;
 import club.wpia.gigi.dbObjects.Certificate.CertificateStatus;
 import club.wpia.gigi.localisation.Language;
@@ -35,11 +36,25 @@ public class CertificateIterable implements IterableDataset {
         vars.put("serial", c.getSerial());
         vars.put("digest", c.getMessageDigest());
         vars.put("profile", c.getProfile().getVisibleName());
+        vars.put("description", c.getDescription());
+        CertificateStatus st = c.getStatus();
+        vars.put("revokable", st != CertificateStatus.REVOKED && st == CertificateStatus.ISSUED);
+        String issuedWarning = "";
+        String expiredWarning = "";
+        vars.put("issued", l.getTranslation("N/A"));
+        vars.put("expire", l.getTranslation("N/A"));
+        vars.put("classIssued", "");
+        vars.put("classExpired", "");
+        vars.put("revoked", l.getTranslation("N/A"));
+        vars.put("actorinitials", l.getTranslation("N/A"));
+        vars.put("actorname", l.getTranslation("N/A"));
+
+        if (c.getActor() != null) {
+            vars.put("actorinitials", c.getActor().getInitials());
+            vars.put("actorname", c.getActor().getPreferredName().toString() + " <" + c.getActor().getEmail() + ">");
+        }
+
         try {
-            CertificateStatus st = c.getStatus();
-            vars.put("revokable", st != CertificateStatus.REVOKED && st == CertificateStatus.ISSUED);
-            String issuedWarning = "";
-            String expiredWarning = "";
             if (st == CertificateStatus.ISSUED || st == CertificateStatus.REVOKED) {
                 X509Certificate cert = c.cert();
                 vars.put("issued", cert.getNotBefore());
@@ -57,16 +72,13 @@ public class CertificateIterable implements IterableDataset {
                     expiredWarning = "bg-danger";
                 }
                 vars.put("classExpired", expiredWarning);
-            } else {
-                vars.put("issued", l.getTranslation("N/A"));
-                vars.put("expire", l.getTranslation("N/A"));
             }
 
             if (st == CertificateStatus.REVOKED) {
                 vars.put("revoked", c.getRevocationDate());
-            } else {
-                vars.put("revoked", l.getTranslation("N/A"));
             }
+        } catch (GigiApiException e) {
+            e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         } catch (GeneralSecurityException e) {