+ public void revoke(Group toMod) {
+ target.revokeGroup(supporter, toMod);
+ String subject = "Change Group Permissions";
+ // send notification to support
+ Outputable message = SprintfCommand.createSimple("The group permission '{0}' was revoked.", toMod.getName());
+ sendSupportNotification(subject, message);
+ // send notification to user
+ message = SprintfCommand.createSimple("The group permission '{0}' was revoked from your account.", toMod.getName());
+ sendSupportUserNotification(subject, message);
+ }
+
+ private static final MailTemplate supportNotification = new MailTemplate(SupportedUser.class.getResource("SupportNotificationMail.templ"));
+
+ private void sendSupportNotification(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 supportemailaddress = ServerConstants.getSupportMailAddress();
+ supportNotification.sendMail(Language.getInstance(Locale.ENGLISH), vars, supportemailaddress);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static final MailTemplate supportUserNotification = new MailTemplate(SupportedUser.class.getResource("SupportUserNotificationMail.templ"));
+
+ private void sendSupportUserNotification(String subject, Outputable message) {
+ try {
+ HashMap<String, Object> vars = new HashMap<>();
+ vars.put("action", message);
+ vars.put("ticket", this.getTicket());
+ vars.put("subject", subject);
+
+ supportUserNotification.sendMail(Language.getInstance(Locale.ENGLISH), vars, target.getEmail());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void triggerPasswordReset(String aword, PrintWriter out, 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);
+ Outputable message = new TranslateCommand("A password reset was triggered and an email was sent to user.");
+ sendSupportNotification(subject, message);
+ }