diff --git a/ckan/lib/helpers.py b/ckan/lib/helpers.py index 3adc984e0b1..14992a7971a 100644 --- a/ckan/lib/helpers.py +++ b/ckan/lib/helpers.py @@ -107,7 +107,7 @@ def url(*args, **kw): wrapper for pylons.url''' locale = kw.pop('locale', None) my_url = _pylons_default_url(*args, **kw) - return _add_i18n_to_url(my_url, locale=locale, **kw) + return _local_url(my_url, locale=locale, **kw) def url_for(*args, **kw): @@ -141,7 +141,7 @@ def url_for(*args, **kw): kw['ver'] = '/%s' % ver my_url = _routes_default_url_for(*args, **kw) kw['__ckan_no_root'] = no_root - return _add_i18n_to_url(my_url, locale=locale, **kw) + return _local_url(my_url, locale=locale, **kw) def url_for_static(*args, **kw): @@ -176,8 +176,10 @@ def fix_arg(arg): if args: args = (fix_arg(args[0]), ) + args[1:] + if kw.get('qualified', False): + kw['protocol'], kw['host'] = get_site_protocol_and_host() my_url = _routes_default_url_for(*args, **kw) - return my_url + return _local_url(my_url, locale='default', **kw) def is_url(*args, **kw): @@ -195,7 +197,7 @@ def is_url(*args, **kw): return url.scheme in valid_schemes -def _add_i18n_to_url(url_to_amend, **kw): +def _local_url(url_to_amend, **kw): # If the locale keyword param is provided then the url is rewritten # using that locale .If return_to is provided this is used as the url # (as part of the language changing feature).