From bf833598904f6a602bcfd1c996b0330c899be603 Mon Sep 17 00:00:00 2001
From: anonymous <anonymous>
Date: Tue, 4 Dec 2018 17:09:38 +0100
Subject: [PATCH] fix datetime

---
 ckanext/odsh/helpers.py                           | 8 +++++++-
 ckanext/odsh/plugin.py                            | 3 ++-
 ckanext/odsh/templates/package/snippets/info.html | 7 ++++---
 ckanext/odsh/templates/snippets/package_item.html | 8 ++++----
 4 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/ckanext/odsh/helpers.py b/ckanext/odsh/helpers.py
index 94c0e0c1..c4098022 100644
--- a/ckanext/odsh/helpers.py
+++ b/ckanext/odsh/helpers.py
@@ -6,6 +6,8 @@ import ckan.logic as logic
 import ckan.model as model
 import json
 from ckan.common import  c
+import  datetime
+from dateutil import parser
 
 get_action = logic.get_action
 log = logging.getLogger(__name__)
@@ -91,4 +93,8 @@ def odsh_get_spatial_text(pkg_dict):
         if 'key' in f and f['key'] == 'spatial_text':
             spatial=f['value']
             return spatial
-    return None 
\ No newline at end of file
+    return None 
+
+def odsh_render_datetime(datetime_, date_format='%d.%m.%Y'):
+    dt = parser.parse(datetime_)
+    return dt.strftime(date_format)
\ No newline at end of file
diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py
index 8bff67ac..fb0f6547 100644
--- a/ckanext/odsh/plugin.py
+++ b/ckanext/odsh/plugin.py
@@ -134,7 +134,8 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm
                 'odsh_get_resource_details': odsh_helpers.odsh_get_resource_details,
                 'odsh_get_resource_views': odsh_helpers.odsh_get_resource_views,
                 'odsh_get_bounding_box': odsh_helpers.odsh_get_bounding_box,
-                'odsh_get_spatial_text': odsh_helpers.odsh_get_spatial_text
+                'odsh_get_spatial_text': odsh_helpers.odsh_get_spatial_text,
+                'odsh_render_datetime': odsh_helpers.odsh_render_datetime
         }
 
     def before_map(self, map):
diff --git a/ckanext/odsh/templates/package/snippets/info.html b/ckanext/odsh/templates/package/snippets/info.html
index ad30024e..c602b0c6 100644
--- a/ckanext/odsh/templates/package/snippets/info.html
+++ b/ckanext/odsh/templates/package/snippets/info.html
@@ -52,16 +52,17 @@ Example:
             {% block timerange %}
             <div class="timerange-detail info-detail">
                 <div>{{ _('timerange') }}:</div>
-                {%set start=h.render_datetime(pkg.temporal_start,'%d.%m.%Y') if pkg.temporal_start else ''%}
-                {%set end=h.render_datetime(pkg.temporal_end,'%d.%m.%Y') if pkg.temporal_end else ''%}
+                {%set start=h.odsh_render_datetime(pkg.temporal_start) if pkg.temporal_start else ''%}
+                {%set end=h.odsh_render_datetime(pkg.temporal_end) if pkg.temporal_end else ''%}
                 <p>{{ start }} - {{ end }}</p>
             </div>
             {% endblock %}
 
             {% block last_change %}
             <div class="last-change-detail info-detail">
+                {%set issued=h.odsh_render_datetime(pkg.issued) if pkg.issued else '-'%}
                 <div>{{ _('issued') }}:</div>
-                {{h.render_datetime(pkg.issued,'%d.%m.%Y') }}
+                {{issued}}
             </div>
             {% endblock %}
 
diff --git a/ckanext/odsh/templates/snippets/package_item.html b/ckanext/odsh/templates/snippets/package_item.html
index 259e68e2..94e4a066 100644
--- a/ckanext/odsh/templates/snippets/package_item.html
+++ b/ckanext/odsh/templates/snippets/package_item.html
@@ -20,15 +20,15 @@ Example:
 {% set license_title =package.license_title if package.license_title else '-'%}
 {% set license_name=' ('+package.licenseAttributionByText +')' if package.licenseAttributionByText else ''%}
 {% set license = license_title + license_name %}
-{% set start=h.render_datetime(package.temporal_start,'%d.%m.%Y') if package.temporal_start else ''%}
-{% set end=h.render_datetime(package.temporal_end,'%d.%m.%Y') if package.temporal_end else ''%}
+{% set start=h.odsh_render_datetime(package.temporal_start) if package.temporal_start else ''%}
+{% set end=h.odsh_render_datetime(package.temporal_end) if package.temporal_end else ''%}
 {% set timerange = start + '-' + end%}
 {% set org = package.organization.title or package.organization.name or '-' %}
 {% set stars = h.odsh_openness_score_dataset_html(package) %}
 {% set access_count=(package.tracking_summary.total if package.tracking_summary) or '-' %}
 {% set timerange_label ='Zeitraum' %}
 {% set access_count_label ='Aufrufe' %}
-{% set issued = h.render_datetime(package.issued,'%d.%m.%Y') %}
+{% set issued = h.odsh_render_datetime(package.issued) if package.issued else '-'%}
 {% set categories = package.groups|map(attribute='display_name')|join(', ') if package.groups else '-' %}
 
 {% block package_item %}
@@ -109,4 +109,4 @@ Example:
   {% endblock %}
   {% endblock %}
 </div>
-{% endblock %}
+{% endblock %}
\ No newline at end of file
-- 
GitLab