]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/admin/support/SupportEnterTicketPage.java
upd: use a more strict pattern for handling forms
[gigi.git] / src / org / cacert / gigi / pages / admin / support / SupportEnterTicketPage.java
1 package org.cacert.gigi.pages.admin.support;
2
3 import java.io.IOException;
4 import java.util.HashMap;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.cacert.gigi.dbObjects.Group;
10 import org.cacert.gigi.output.template.Form;
11 import org.cacert.gigi.pages.LoginPage;
12 import org.cacert.gigi.pages.Page;
13 import org.cacert.gigi.util.AuthorizationContext;
14
15 public class SupportEnterTicketPage extends Page {
16
17     public static final String PATH = "/support/ticket";
18
19     public SupportEnterTicketPage() {
20         super("Set Ticket");
21     }
22
23     @Override
24     public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
25         if (req.getParameter("setTicket") == null && req.getParameter("deleteTicket") == null) {
26             return false;
27         }
28         SupportEnterTicketForm f = Form.getForm(req, SupportEnterTicketForm.class);
29         if (f.submitExceptionProtected(req)) {
30             resp.sendRedirect(PATH);
31             return true;
32         }
33         return false;
34
35     }
36
37     @Override
38     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
39         HashMap<String, Object> vars = new HashMap<String, Object>();
40         vars.put("ticketNo", LoginPage.getAuthorizationContext(req).getSupporterTicketId());
41         new SupportEnterTicketForm(req).output(resp.getWriter(), getLanguage(req), vars);
42     }
43
44     @Override
45     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
46         if (Form.printFormErrors(req, resp.getWriter())) {
47             SupportEnterTicketForm f = Form.getForm(req, SupportEnterTicketForm.class);
48             f.output(resp.getWriter(), getLanguage(req), new HashMap<String, Object>());
49         }
50     }
51
52     @Override
53     public boolean isPermitted(AuthorizationContext ac) {
54         return ac != null && ac.isInGroup(Group.SUPPORTER);
55     }
56
57 }