[web/controller] fix some cases where _cwmsgid may appears twice stable
authorAnthony Truchet <anthony.truchet@logilab.fr>
Wed, 22 Feb 2012 09:33:43 +0100
branchstable
changeset 8254 eff5b930998d
parent 8252 3e769d21f67a
child 8255 25a00e4a8722
child 8574 268bc595271b
[web/controller] fix some cases where _cwmsgid may appears twice the Way the URL was build led to double _cwmsgid parameter in the URL query, which led in turn to a crash. We use _cw.rebuild_url to update new params instead of append_url_params which merely does a textual concatenation.
web/controller.py
--- a/web/controller.py	Mon Feb 20 16:14:19 2012 +0100
+++ b/web/controller.py	Wed Feb 22 09:33:43 2012 +0100
@@ -207,10 +207,12 @@
         if '__redirectpath' in self._cw.form:
             # if redirect path was explicitly specified in the form, use it
             path = self._cw.form['__redirectpath']
-            url = self._cw.build_url(path, **newparams)
+            url = self._cw.build_url(path)
             url = append_url_params(url, self._cw.form.get('__redirectparams'))
         else:
             url = self._cw.last_visited_page()
+        # The newparams must update the params in all cases
+        url = self._cw.rebuild_url(url, **newparams)
         raise Redirect(url)