]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/dbObjects/SupportedUser.java
add: notify board if a support role is granted or removed
[gigi.git] / src / org / cacert / gigi / dbObjects / SupportedUser.java
index 18bfbee21fe345dbce3c3be8c640bbec0d05e72a..940e67fc89b689c7bfa8e8e2ecdda5100fbab81d 100644 (file)
@@ -120,6 +120,11 @@ public class SupportedUser {
         // send notification to user
         message = SprintfCommand.createSimple("The group permission '{0}' was granted to your account.", toMod.getName());
         sendSupportUserNotification(subject, message);
+        if (toMod == Group.SUPPORTER) {
+            subject = "Support role granted";
+            message = SprintfCommand.createSimple("The group permission '{0}' was granted for '{1}'.", toMod.getName(), target.getPreferredName().toString());
+            sendBoardNotification(subject, message);
+        }
     }
 
     public void revoke(Group toMod) {
@@ -131,6 +136,11 @@ public class SupportedUser {
         // send notification to user
         message = SprintfCommand.createSimple("The group permission '{0}' was revoked from your account.", toMod.getName());
         sendSupportUserNotification(subject, message);
+        if (toMod == Group.SUPPORTER) {
+            subject = "Support role revoked";
+            message = SprintfCommand.createSimple("The group permission '{0}' was revoked for '{1}'.", toMod.getName(), target.getPreferredName().toString());
+            sendBoardNotification(subject, message);
+        }
     }
 
     private static final MailTemplate supportNotification = new MailTemplate(SupportedUser.class.getResource("SupportNotificationMail.templ"));
@@ -173,4 +183,19 @@ public class SupportedUser {
         Outputable message = new TranslateCommand("A password reset was triggered and an email was sent to user.");
         sendSupportNotification(subject, message);
     }
+
+    private void sendBoardNotification(String subject, Outputable message) {
+        try {
+            HashMap<String, Object> vars = new HashMap<>();
+            vars.put("supporter", supporter.getPreferredName().toString());
+            vars.put("action", message);
+            vars.put("ticket", this.getTicket());
+            vars.put("subject", subject);
+
+            String boardemailaddress = ServerConstants.getBoardMailAddress();
+            supportNotification.sendMail(Language.getInstance(Locale.ENGLISH), vars, boardemailaddress);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
 }