]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/SupportEnterTicketForm.java
add: more strict ticket handling. User history page
[gigi.git] / src / org / cacert / gigi / pages / admin / support / SupportEnterTicketForm.java
index 5db93f30960df3c03c1bdbe4b349b2b7f30871ee..f7ddea07d3e9a1af09fb132efc129c372a78fb64 100644 (file)
@@ -6,31 +6,38 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 
 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.output.template.Template;
+import org.cacert.gigi.pages.LoginPage;
+import org.cacert.gigi.util.AuthorizationContext;
 
 public class SupportEnterTicketForm extends Form {
 
     private static Template t;
 
-    private User target;
     static {
         t = new Template(SupportEnterTicketForm.class.getResource("SupportEnterTicketForm.templ"));
     }
 
-    public SupportEnterTicketForm(HttpServletRequest hsr, User target) {
+    public SupportEnterTicketForm(HttpServletRequest hsr) {
         super(hsr);
-        this.target = target;
     }
 
     @Override
     public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
-        // [asdmASDM]\d{8}\.\d+
-        String ticket = req.getParameter("ticketno");
-        if (ticket.matches("[asdmASDM]\\d{8}\\.\\d+")) {
-            req.getSession().setAttribute("ticketNo" + target.getId(), ticket);
+        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);
+                ac.setSupporterTicketId(ticket);
+                return true;
+            }
+            return false;
+        } else if (req.getParameter("deleteTicket") != null) {
+            AuthorizationContext ac = LoginPage.getAuthorizationContext(req);
+            ac.setSupporterTicketId(null);
             return true;
         }
         return false;