import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.dbObjects.User;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.util.AuthorizationContext;
public class MailOverview extends Page {
public static final String DEFAULT_PATH = "/account/mails";
- public MailOverview(String title) {
- super(title);
+ public MailOverview() {
+ super("Email addresses");
}
@Override
PrintWriter out = resp.getWriter();
if (req.getParameter("addmail") != null) {
MailAddForm f = Form.getForm(req, MailAddForm.class);
- if (f.submit(out, req)) {
- resp.sendRedirect(MailOverview.DEFAULT_PATH);
+ try {
+ if (f.submit(out, req)) {
+ resp.sendRedirect(MailOverview.DEFAULT_PATH);
+ }
+ } catch (GigiApiException e) {
+ e.format(resp.getWriter(), getLanguage(req));
}
- } else if (req.getParameter("makedefault") != null || req.getParameter("delete") != null) {
+ } else {
MailManagementForm f = Form.getForm(req, MailManagementForm.class);
if (f.submit(out, req)) {
resp.sendRedirect(MailOverview.DEFAULT_PATH);
}
super.doPost(req, resp);
}
+
+ @Override
+ public boolean isPermitted(AuthorizationContext ac) {
+ return ac != null && ac.getTarget() instanceof User;
+ }
}