prewikka/master: Improve back/retry error handling
[email protected] Mon, 6 Jul 2009 17:06:32 +0200 (CEST)
| Newsgroups | gmane.comp.security.ids.prelude.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 2640499fd262fe61a99e46d70c00566b2bd84379 Author: Yoann Vandoorselaere <[email protected]> Date: Fri Jul 3 14:35:18 2009 +0200 Improve back/retry error handling This should improve the back/retry handling by directly using javascript rather than reconstructing a whole query. Additionally, this make the resulting template unicode compliant. ======================================== prewikka/Core.py | 15 --------- prewikka/templates/ErrorTemplate.tmpl | 55 +------------------------------- 2 files changed, 2 insertions(+), 68 deletions(-) ======================================== diff --git a/prewikka/Core.py b/prewikka/Core.py index 0951c0e..530feb6 100644 --- a/prewikka/Core.py +++ b/prewikka/Core.py @@ -61,21 +61,6 @@ def init_dataset(dataset, config, request): else: dataset["prewikka.external_link_target"] = "_self" - qstring = request.getQueryString() - if qstring[0:2] == "/?": - qstring = qstring[2:] - - dataset["prewikka.url.current"] = qstring - - referer = request.getReferer() - idx = referer.rfind("/") - if idx != -1: - referer = referer[idx + 1:] - if referer[0:1] == "?": - referer = referer[1:] - - dataset["prewikka.url.referer"] = referer - dataset["arguments"] = [] for name, value in request.arguments.items(): if name in ("_login", "_password"): diff --git a/prewikka/templates/ErrorTemplate.tmpl b/prewikka/templates/ErrorTemplate.tmpl index e58648b..08ebb44 100644 --- a/prewikka/templates/ErrorTemplate.tmpl +++ b/prewikka/templates/ErrorTemplate.tmpl @@ -15,59 +15,8 @@ <br/><br/> -#set $curparam = $cgi.parse_qs($prewikka.url.current) - -#if $curparam.has_key('_error_back') - #set $referer_string = $curparam['_error_back'][0] - #set $referer = $cgi.parse_qs($referer_string) -#else - #set $referer_string = $prewikka.url.referer - #set $referer = $cgi.parse_qs($referer_string) -#end if - -#if $curparam.has_key('_error_retry') - #set $retry_string = $curparam['_error_retry'][0] - #set $retry = $cgi.parse_qs($retry_string) -#else - #set $retry_string = $prewikka.url.current - #set $retry = $cgi.parse_qs($prewikka.url.current) -#end if - - - <form method="POST" action="?"> - #for $param, $values in $referer.items() - #for $value in $values - <input type="hidden" name="$param" value="$value"/> - #end for - #end for - -#if not $referer.has_key("_error_back") - <input type="hidden" name="_error_back" value="$referer_string" /> -#end if - -#if not $referer.has_key("_error_retry") - <input type="hidden" name="_error_retry" value="$retry_string" /> -#end if - <input style="float: left; position: relative;" type="submit" value="Back"/> - </form> - - <form method="POST" action="?"> - #for $param, $values in $retry.items() - #for $value in $values - <input type="hidden" name="$param" value="$value"/> - #end for - #end for - -#if not $retry.has_key("_error_back") - <input type="hidden" name="_error_back" value="$referer_string" /> -#end if - -#if not $retry.has_key("_error_retry") - <input type="hidden" name="_error_retry" value="$retry_string" /> -#end if - - <input style="float: right; position: relative;" type="submit" value="Retry"/> - </form> + <input style="float: left; position: relative;" type="button" value="Back" onclick="history.back()" /> + <input style="float: right; position: relative;" type="submit" value="Retry" onclick="location.reload()"/> </fieldset> </div> _______________________________________________ Prelude-cvslog site list [email protected] http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog