changeset 3403:07f4193083fd beta

extra params in pyroutes now generate GET params
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 25 Feb 2013 23:16:36 +0100
parents 58737dee17f1
children 7854097b189c
files rhodecode/public/js/rhodecode.js
diffstat 1 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/public/js/rhodecode.js	Mon Feb 25 22:11:04 2013 +0100
+++ b/rhodecode/public/js/rhodecode.js	Mon Feb 25 23:16:36 2013 +0100
@@ -302,12 +302,25 @@
             }
             if (matchlist.hasOwnProperty(route_name)) {
                 var route = matchlist[route_name];
+                // param substitution
                 for(var i=0; i < route[1].length; i++) {
 
                    if (!params.hasOwnProperty(route[1][i]))
                         throw new Error(route[1][i] + ' missing in "' + route_name + '" route generation');
                 }
                 result = sprintf(route[0], params);
+                
+                var ret = [];
+                //extra params => GET
+                for(param in params){
+                	if (route[1].indexOf(param) == -1){
+                		ret.push(encodeURIComponent(param) + "=" + encodeURIComponent(params[param]));	
+                	}
+                }
+                var _parts = ret.join("&");
+                if(_parts){
+                	result = result +'?'+ _parts
+                }
             }
 
             return result;