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:
-
+ 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"