package org.cacert.gigi.dbObjects;
import java.io.IOException;
-import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Locale;
cert.revoke().waitFor(60000);
// send notification to support
String subject = "Revoke certificate";
- Outputable message = SprintfCommand.createSimple("Certificate with serial number {0} for {1} <{2}>, has been revoked.", cert.getSerial(), target.getPreferredName().toString(), target.getEmail());
+ Outputable message = SprintfCommand.createSimple("Certificate with serial number {0} for {1} <{2}> has been revoked.", cert.getSerial(), target.getPreferredName().toString(), target.getEmail());
sendSupportNotification(subject, message);
// send notification to user
subject = "Revoke certificate";
// 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
// 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"));
}
}
- 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<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();
+ }
+ }
}