]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/SupportEnterTicketForm.java
add: add boolean to separate groups for user and support
[gigi.git] / src / org / cacert / gigi / pages / admin / support / SupportEnterTicketForm.java
index 5db93f30960df3c03c1bdbe4b349b2b7f30871ee..18afc0c662279ccf76ca0fd503e57693220c4272 100644 (file)
@@ -5,32 +5,36 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.cacert.gigi.Gigi;
 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 static final Template t = new Template(SupportEnterTicketForm.class.getResource("SupportEnterTicketForm.templ"));
 
-    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);
+                req.getSession().setAttribute(Gigi.AUTH_CONTEXT, new AuthorizationContext(ac.getActor(), ticket));
+                return true;
+            }
+            return false;
+        } else if (req.getParameter("deleteTicket") != null) {
+            AuthorizationContext ac = LoginPage.getAuthorizationContext(req);
+            req.getSession().setAttribute(Gigi.AUTH_CONTEXT, new AuthorizationContext(ac.getActor(), ac.getActor()));
             return true;
         }
         return false;