package org.cacert.gigi.dbObjects;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.Locale;
+
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
+import org.cacert.gigi.email.SendMail;
+import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.template.Outputable;
+import org.cacert.gigi.output.template.SprintfCommand;
import org.cacert.gigi.util.DayDate;
+import org.cacert.gigi.util.ServerConstants;
public class SupportedUser {
target.revokeGroup(supporter, toMod);
}
+ public void sendSupportNotification(String subject, Outputable message) {
+ try {
+ StringWriter sw = new StringWriter();
+ PrintWriter outMail = new PrintWriter(sw);
+ outMail.print("Hi," + "\n\n");
+ SprintfCommand.createSimple("supporter {0} triggered:", supporter.getName().toString()).output(outMail, Language.getInstance(Locale.ENGLISH), new HashMap<String, Object>());
+ outMail.print("\n\n");
+ message.output(outMail, Language.getInstance(Locale.ENGLISH), new HashMap<String, Object>());
+ outMail.print("\n\n");
+ outMail.print("RA DB");
+ outMail.close();
+ String supportemailaddress = "support@" + ServerConstants.getWwwHostName().replaceFirst("^www\\.", "");
+ SendMail.getInstance().sendMail(supportemailaddress, "[" + this.getTicket() + "] RA DB " + subject, sw.toString(), supportemailaddress, null, null, null, null, false);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
}
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.Template;
+import org.cacert.gigi.output.template.TranslateCommand;
public class SupportRevokeCertificatesForm extends Form {
public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
if (user.getTicket() != null) {
user.revokeAllCertificates();
+ String subject = "Revoke certificates";
+ Outputable message = new TranslateCommand("All certificates in the account have been revoked.");
+ user.sendSupportNotification(subject, message);
return true;
}
return false;
import org.cacert.gigi.output.GroupSelector;
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;
+import org.cacert.gigi.output.template.TranslateCommand;
import org.cacert.gigi.pages.PasswordResetPage;
public class SupportUserDetailsForm extends Form {
throw new GigiApiException("More than one action requested!");
}
if (req.getParameter("grant") != null || req.getParameter("deny") != null) {
+ String actionType = "granted";
value.update(req);
Group toMod = value.getGroup();
if (req.getParameter("grant") != null) {
user.grant(toMod);
} else {
+ actionType = "revoked";
user.revoke(toMod);
}
+ String subject = "Change Group Permissions";
+ Outputable message = SprintfCommand.createSimple("The group permission {0} was {1}.", toMod.getDatabaseName(), actionType);
+ user.sendSupportNotification(subject, message);
return true;
}
if (req.getParameter("resetPass") != null) {
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, user.getTargetUser(), req, aword, l, method, subject);
+ Outputable message = new TranslateCommand("A password reset was triggered and an email was sent to user.");
+ user.sendSupportNotification(subject, message);
return true;
}
dobSelector.update(req);
user.submitSupportAction();
}
}
+ String subject = "Change Account Data";
+ Outputable message = new TranslateCommand("The account data was changed.");
+ user.sendSupportNotification(subject, message);
return true;
}