]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/SupportRevokeCertificatesForm.java
add: send notification to support and user after support actions
[gigi.git] / src / org / cacert / gigi / pages / admin / support / SupportRevokeCertificatesForm.java
index 46414422904fd63c5c4029f63770a8d4c90a6711..8c106dcb5d8d6bbd3cf5fdfd1e12e86dd2925cf7 100644 (file)
@@ -13,19 +13,19 @@ import org.cacert.gigi.dbObjects.Certificate;
 import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
 import org.cacert.gigi.dbObjects.CertificateProfile;
 import org.cacert.gigi.dbObjects.SupportedUser;
+import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.template.Form;
 import org.cacert.gigi.output.template.IterableDataset;
+import org.cacert.gigi.output.template.Outputable;
+import org.cacert.gigi.output.template.SprintfCommand;
 import org.cacert.gigi.output.template.Template;
 
 public class SupportRevokeCertificatesForm extends Form {
 
-    private static Template t;
+    private static final Template t = new Template(SupportRevokeCertificatesForm.class.getResource("SupportRevokeCertificatesForm.templ"));
 
     private SupportedUser user;
-    static {
-        t = new Template(SupportRevokeCertificatesForm.class.getResource("SupportRevokeCertificatesForm.templ"));
-    }
 
     public SupportRevokeCertificatesForm(HttpServletRequest hsr, SupportedUser user) {
         super(hsr);
@@ -36,6 +36,15 @@ public class SupportRevokeCertificatesForm extends Form {
     public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
         if (user.getTicket() != null) {
             user.revokeAllCertificates();
+            User target = user.getTargetUser();
+            // send notification to support
+            String subject = "Revoke certificates";
+            Outputable message = SprintfCommand.createSimple("All certificates in the account {0} <{1}> have been revoked.", target.getPreferredName().toString(), target.getEmail());
+            user.sendSupportNotification(subject, message);
+            // send notification to user
+            subject = "Revoke certificate";
+            message = SprintfCommand.createSimple("All certificates in your account have been revoked.");
+            user.sendSupportUserNotification(subject, message);
             return true;
         }
         return false;
@@ -69,6 +78,7 @@ public class SupportRevokeCertificatesForm extends Form {
                         }
                         if (certs[i].getStatus() == CertificateStatus.REVOKED) {
                             revoked++;
+                            continue;
                         }
                         certs[i].cert().checkValidity();
                         lastExpire = Math.max(lastExpire, certs[i].cert().getNotAfter().getTime());