]> WPIA git - gigi.git/blobdiff - src/club/wpia/gigi/output/template/Form.java
fix: correctly end forms
[gigi.git] / src / club / wpia / gigi / output / template / Form.java
index ec3909e11263da0e5b23e1ebbcf6c4093d9d1744..1e94120158facaeb226e418353686348b37f5e48 100644 (file)
@@ -136,17 +136,18 @@ public abstract class Form implements Outputable {
         try {
             SubmissionResult res = submit(req);
             req.setAttribute(SUBMIT_RESULT, res);
-            if (res instanceof RedirectResult) {
-                resp.sendRedirect(((RedirectResult) res).target);
-                return true;
-            }
             if (res.endsForm()) {
                 HttpSession hs = req.getSession();
                 hs.removeAttribute("form/" + getClass().getName() + "/" + csrf);
             }
+            if (res instanceof RedirectResult) {
+                resp.sendRedirect(((RedirectResult) res).target);
+                return true;
+            }
             return false;
         } catch (PermamentFormException e) {
             req.setAttribute(SUBMIT_RESULT, e);
+            req.getSession().removeAttribute("form/" + getClass().getName() + "/" + csrf);
             return false;
         } catch (GigiApiException e) {
             req.setAttribute(SUBMIT_RESULT, e);