import javax.servlet.http.HttpServletRequest;
+import org.cacert.gigi.Gigi;
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.pages.LoginPage;
+import org.cacert.gigi.util.AuthorizationContext;
public class SupportEnterTicketForm extends Form {
- private static Template t;
- static {
- t = new Template(SupportEnterTicketForm.class.getResource("SupportEnterTicketForm.templ"));
- }
+ private static final Template t = new Template(SupportEnterTicketForm.class.getResource("SupportEnterTicketForm.templ"));
public SupportEnterTicketForm(HttpServletRequest hsr) {
super(hsr);
}
@Override
- public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
- return false;
+ public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
+ if (req.getParameter("setTicket") != null) {
+ // [asdmASDM]\d{8}\.\d+
+ String ticket = req.getParameter("ticketno");
+ if (ticket.matches("[asdmASDM]\\d{8}\\.\\d+")) {
+ AuthorizationContext ac = LoginPage.getAuthorizationContext(req);
+ req.getSession().setAttribute(Gigi.AUTH_CONTEXT, new AuthorizationContext(ac.getActor(), ticket));
+ return new RedirectResult(SupportEnterTicketPage.PATH);
+ }
+ throw new GigiApiException("Ticket format malformed");
+ } else if (req.getParameter("deleteTicket") != null) {
+ AuthorizationContext ac = LoginPage.getAuthorizationContext(req);
+ req.getSession().setAttribute(Gigi.AUTH_CONTEXT, new AuthorizationContext(ac.getActor(), ac.getActor()));
+ return new RedirectResult(SupportEnterTicketPage.PATH);
+ }
+ throw new GigiApiException("No valid action given.");
}
@Override