X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2FForm.java;h=7cad69e7343b422d34369490452e4dc7f7ed2615;hb=76e3ad5851967bea57005ec9858625d4a7071d7c;hp=176c7046995a57147b5066a85f45cc1f577b5b26;hpb=480cb29387c76ccc19f8fa8fb0abe8ae1b069730;p=gigi.git diff --git a/src/org/cacert/gigi/output/Form.java b/src/org/cacert/gigi/output/Form.java index 176c7046..7cad69e7 100644 --- a/src/org/cacert/gigi/output/Form.java +++ b/src/org/cacert/gigi/output/Form.java @@ -8,6 +8,7 @@ import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.cacert.gigi.GigiApiException; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.pages.Page; import org.cacert.gigi.util.RandomToken; @@ -16,7 +17,7 @@ public abstract class Form implements Outputable { public static final String CSRF_FIELD = "csrf"; - String csrf; + private String csrf; public Form(HttpServletRequest hsr) { csrf = RandomToken.generateToken(32); @@ -25,7 +26,7 @@ public abstract class Form implements Outputable { } - public abstract boolean submit(PrintWriter out, HttpServletRequest req); + public abstract boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException; protected String getCsrfFieldName() { return CSRF_FIELD; @@ -34,6 +35,7 @@ public abstract class Form implements Outputable { @Override public void output(PrintWriter out, Language l, Map vars) { out.println("
"); + failed = false; outputContent(out, l, vars); out.print(""); + } out.print("
"); - out.print(Page.translate(req, text)); + if (contents.length == 0) { + out.print(Page.translate(req, text)); + } else { + out.print(String.format(Page.translate(req, text), contents)); + } out.println("
"); } + protected void outputErrorPlain(PrintWriter out, String text) { + if ( !failed) { + failed = true; + out.println("
"); + } + out.print("
"); + out.print(text); + out.println("
"); + } + + public boolean isFailed(PrintWriter out) { + if (failed) { + out.println("
"); + } + return failed; + } + protected String getCSRFToken() { return csrf; }