+ int i = 0;
+
+ @Override
+ public boolean next(Language l, Map<String, Object> vars) {
+ if (i == addrs.length) {
+ return false;
+ }
+ String address = addrs[i].getAddress();
+ i++;
+ if ( !address.equals(user.getEmail())) {
+ vars.put("secmail", address);
+ }
+ return true;
+ }
+ });
+ vars.put("certifrevoke", new SupportRevokeCertificatesForm(req, new SupportedUser(user, getUser(req), ticket)));
+ vars.put("tickethandling", new SupportEnterTicketForm(req, user));
+ getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
+ }
+
+ @Override
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ try {
+ if (req.getParameter("setTicket") != null) {
+
+ if ( !Form.getForm(req, SupportEnterTicketForm.class).submit(resp.getWriter(), req)) {
+ throw new GigiApiException("Invalid ticket number!");
+ }
+ } else if (req.getParameter("revokeall") != null) {
+ if ( !Form.getForm(req, SupportRevokeCertificatesForm.class).submit(resp.getWriter(), req)) {
+ throw new GigiApiException("No ticket number set.");
+ }
+ }
+ } catch (GigiApiException e) {
+ e.printStackTrace();
+ e.format(resp.getWriter(), getLanguage(req));
+ }
+ super.doPost(req, resp);
+ }
+
+ @Override
+ public boolean isPermitted(User u) {
+ if (u == null) {
+ return false;
+ }
+ return u.isInGroup(Group.SUPPORTER);
+ }