From dd372d8df3c76fbc8ccdfbd6c0a6cbc96a6d5284 Mon Sep 17 00:00:00 2001 From: cormac hallinan Date: Mon, 24 Apr 2023 13:54:05 +0000 Subject: [PATCH 1/2] using link to show validation status --- .../theme/templates/package/snippets/additional_info.html | 8 ++++++-- ckanext/iati/theme/templates/snippets/package_item.html | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ckanext/iati/theme/templates/package/snippets/additional_info.html b/ckanext/iati/theme/templates/package/snippets/additional_info.html index 708bd69..d9ffe52 100644 --- a/ckanext/iati/theme/templates/package/snippets/additional_info.html +++ b/ckanext/iati/theme/templates/package/snippets/additional_info.html @@ -50,6 +50,10 @@ {{ package_additional_info_row('IATI data updated', 'data_updated', force_value=h.render_datetime(h.get_pkg_dict_extra(pkg_dict, 'data_updated', ''), date_format=date_format)) }} {{ package_additional_info_row('IATI registry updated', 'data_recorded', force_value=h.render_datetime(pkg_dict.metadata_modified, date_format=date_format)) }} - {{ package_additional_info_row('Validation Status', 'validation_status') }} - + + {{ _('Validation URL') }} + + Check validation report + + {% endblock %} diff --git a/ckanext/iati/theme/templates/snippets/package_item.html b/ckanext/iati/theme/templates/snippets/package_item.html index 21b4ade..3a3f9cd 100644 --- a/ckanext/iati/theme/templates/snippets/package_item.html +++ b/ckanext/iati/theme/templates/snippets/package_item.html @@ -50,8 +50,8 @@

View Metadata · {% snippet 'snippets/resource_links.html', resource=resource, package=package %} - Validation Status: {{ h.get_pkg_dict_extra(package, 'validation_status', '-') }} -

+ Validation URL: Check validation report +

{% endfor %} {% endif %} From 29e60b51ede38496563f56345c4354910f232299 Mon Sep 17 00:00:00 2001 From: cormac hallinan Date: Tue, 2 May 2023 11:52:34 +0000 Subject: [PATCH 2/2] getting publisher name and dataset URL --- ckanext/iati/logic/validators.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/ckanext/iati/logic/validators.py b/ckanext/iati/logic/validators.py index cb4daab..caa7d9e 100644 --- a/ckanext/iati/logic/validators.py +++ b/ckanext/iati/logic/validators.py @@ -3,6 +3,8 @@ from datetime import datetime from email_validator import validate_email import re +import requests +import os from sqlalchemy import and_ from ckan.logic import get_action from ckan import authz as new_authz @@ -26,15 +28,22 @@ def iati_resource_count(key, data, errors, context): def send_url_invalid_email(context, is_url_error=True): user = context['auth_user_obj'] + package = context['package'] + host = os.environ.get('HOST') + + res = requests.post('https://{0}/api/3/action/package_show?id={1}'.format(host, package.name)).json() + publisher_name = res['result']['publisher_iati_id'] + dataset_link = 'https://{0}/dataset/{1}'.format(host, package.name) + if is_url_error: body = emailer.data_has_url_errors.format( - user_name=context['user'], publisher_name='publisher_name', - publisher_registry_dataset_link='publisher_registry_dataset_link' + user_name=context['user'], publisher_name=publisher_name, + publisher_registry_dataset_link=dataset_link ) else: body = emailer.data_not_xml_email_body.format( - user_name=context['user'], publisher_name='publisher_name', - publisher_registry_dataset_link='publisher_registry_dataset_link' + user_name=context['user'], publisher_name=publisher_name, + publisher_registry_dataset_link=dataset_link ) subject = "Invalid dataset upload format"