diff --git a/ckanext/odsh/helpers.py b/ckanext/odsh/helpers.py index 94c0e0c14bec1e353ebf1655316be7dc80cf6525..c40980224a522b36388162287e9560000099357e 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 8bff67ac81de58c89b532bf0af00795c90278a49..fb0f65477161e55d77cbf13360ae3ab335335e66 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 ad30024ef5e91610d4ec6277219fbd462ee8f371..c602b0c6065af22a5cbfa64d1427eaaad676c11d 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 259e68e2223e94ba857ee6c60947bf35c5829c2b..94e4a0667260607c01967b1580486c33829192ea 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