X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FSupportedUser.java;h=e600b85bf2d2fca302375d18e06693e19108c056;hb=2b238f215190e6d24fa928a657fa0fb30059abb7;hp=18bfbee21fe345dbce3c3be8c640bbec0d05e72a;hpb=77ed324f049e33862e142210d17f26a8efd9e97d;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/SupportedUser.java b/src/org/cacert/gigi/dbObjects/SupportedUser.java index 18bfbee2..e600b85b 100644 --- a/src/org/cacert/gigi/dbObjects/SupportedUser.java +++ b/src/org/cacert/gigi/dbObjects/SupportedUser.java @@ -1,7 +1,6 @@ package org.cacert.gigi.dbObjects; import java.io.IOException; -import java.io.PrintWriter; import java.util.HashMap; import java.util.Locale; @@ -120,9 +119,14 @@ 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) { + public void revoke(Group toMod) throws GigiApiException { target.revokeGroup(supporter, toMod); String subject = "Change Group Permissions"; // send notification to support @@ -131,6 +135,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")); @@ -165,12 +174,27 @@ public class SupportedUser { } } - public void triggerPasswordReset(String aword, PrintWriter out, HttpServletRequest req) { + public void triggerPasswordReset(String aword, HttpServletRequest req) { Language l = Language.getInstance(target.getPreferredLocale()); String method = l.getTranslation("A password reset was triggered. Please enter the required text sent to you by support on this page:"); String subject = l.getTranslation("Password reset by support."); - PasswordResetPage.initPasswordResetProcess(out, target, req, aword, l, method, subject); + PasswordResetPage.initPasswordResetProcess(target, req, aword, l, method, subject); 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 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(); + } + } }