From 80a5bb75e3ec31767a92a3328b5353dffc2f6e60 Mon Sep 17 00:00:00 2001
From: anonymous <anonymous>
Date: Mon, 3 Jun 2019 14:33:43 +0200
Subject: [PATCH] fix resource url

---
 ckanext/odsh/helpers.py                                | 10 ++++++++++
 ckanext/odsh/plugin.py                                 |  3 ++-
 .../odsh/templates/package/snippets/resource_item.html |  8 +-------
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/ckanext/odsh/helpers.py b/ckanext/odsh/helpers.py
index d7b0d5e5..60fccc73 100644
--- a/ckanext/odsh/helpers.py
+++ b/ckanext/odsh/helpers.py
@@ -13,6 +13,8 @@ import urllib
 import hashlib
 import re
 from ckan.common import request
+from urlparse import urlsplit, urlunsplit
+
 
 get_action = logic.get_action
 log = logging.getLogger(__name__)
@@ -215,3 +217,11 @@ def odsh_has_more_facets(facet, limit=None, exclude_active=False):
 
 def odsh_public_url():
     return config.get('ckanext.odsh.public_url')
+
+def odsh_public_resource_url(res):
+    home = config.get('ckanext.odsh.public_url')
+    if res.get('url_type',None) == 'upload' and 'url' in res:
+        f = urlsplit(res['url'])
+        return urlunsplit((0, 0, f[2], f[3], f[4]))
+    else:
+        return res['url']
diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py
index 36e9e367..d798c617 100644
--- a/ckanext/odsh/plugin.py
+++ b/ckanext/odsh/plugin.py
@@ -289,7 +289,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
                 'odsh_tracking_id': odsh_helpers.odsh_tracking_id,
                 'odsh_tracking_url': odsh_helpers.odsh_tracking_url,
                 'odsh_has_more_facets': odsh_helpers.odsh_has_more_facets,
-                'odsh_public_url': odsh_helpers.odsh_public_url
+                'odsh_public_url': odsh_helpers.odsh_public_url,
+                'odsh_public_resource_url': odsh_helpers.odsh_public_resource_url
                 }
 
     def after_map(self, map):
diff --git a/ckanext/odsh/templates/package/snippets/resource_item.html b/ckanext/odsh/templates/package/snippets/resource_item.html
index bc12c3b4..cf63b5a7 100644
--- a/ckanext/odsh/templates/package/snippets/resource_item.html
+++ b/ckanext/odsh/templates/package/snippets/resource_item.html
@@ -2,13 +2,7 @@
 {% set url = h.url_for(controller='package', action=url_action, id=pkg.name, resource_id=res.id) %}
 
 {# hack for correcting slave url if resource was uploaded #}
-{% if res.url_type=='upload' %}
-{% set download = url or res.url%}
-{% else %}
-{% set download = res.url or ulr%}
-{% endif %}
-{% set res_details = h.odsh_get_resource_details(res.id) %}
-
+{% set download = h.odsh_public_resource_url(res) or ulr%}
 
 <li class="resource-item" data-id="{{ res.id }}">
 
-- 
GitLab