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