diff --git a/app_data/vocabularies/awards.yaml b/app_data/vocabularies/awards.yaml index 08c3e9d1..486403f1 100644 --- a/app_data/vocabularies/awards.yaml +++ b/app_data/vocabularies/awards.yaml @@ -45,3 +45,11 @@ en: Helix Nebula - The Science Cloud acronym: HELIX NEBULA program: FP7-INFRASTRUCTURES +- id: 00k4n6c32::730871 + funder: + id: 00k4n6c32 + number: '730871' + title: + en: Accelerator Research and Innovation for European Science and Society + acronym: ARIES + program: H2020-EU.1.4. diff --git a/site/cds_rdm/schemes.py b/site/cds_rdm/schemes.py index ec925b46..ea083cd6 100644 --- a/site/cds_rdm/schemes.py +++ b/site/cds_rdm/schemes.py @@ -12,7 +12,6 @@ import re from flask import current_app -from idutils.utils import hal_regexp aleph_regexp = re.compile(r"\d+(CER|MMD){0,2}$", flags=re.I) inspire_regexp = re.compile( @@ -24,6 +23,9 @@ is_indico_regexp = re.compile(r"^[a-zA-Z0-9]+$", flags=re.I) inis_pattern = re.compile(r"^(?:\d+|RN:\d+)$", flags=re.I) edms_pattern = re.compile(r"^\d+$", flags=re.I) +hal_regexp = re.compile(r"^(hal:|HAL:)?((in2p3|[a-z]{3}[a-z]*)-|(sic|mem|ijn)_)\d{8}(v\d+)?$") +# Matches patterns like CERN-EP-2026-001 or CERN-TH-2026-042 +approval_rn_regexp = re.compile(r"^[A-Z]+-[A-Z]+-\d{4}-\d+$") def is_aleph(val): @@ -152,10 +154,6 @@ def cds_report_number(): return {"validator": lambda value: True, "normalizer": lambda value: value} -# Matches patterns like CERN-EP-2026-001 or CERN-TH-2026-042 -approval_rn_regexp = re.compile(r"^[A-Z]+-[A-Z]+-\d{4}-\d+$") - - def is_approval_report_number(val): """Test if argument is a valid approval report number.""" return bool(approval_rn_regexp.match(val)) diff --git a/site/cds_rdm/templates/semantic-ui/CDSMeeting.html b/site/cds_rdm/templates/semantic-ui/CDSMeeting.html new file mode 100644 index 00000000..7ef3d89a --- /dev/null +++ b/site/cds_rdm/templates/semantic-ui/CDSMeeting.html @@ -0,0 +1,56 @@ +{% for meeting in field_value %} + {% if not loop.first %} +
+ {% endif %} + + {% if meeting.get('title') %} +
{{ _("Title") }}
+
{{ meeting.get('title') }}
+ {% endif %} + + {% if meeting.get('acronym') %} +
{{ _("Acronym") }}
+
{{ meeting.get('acronym') }}
+ {% endif %} + + {% if meeting.get('dates') %} +
{{ _("Dates") }}
+
{{ meeting.get('dates') }}
+ {% endif %} + + {% if meeting.get('place') %} +
{{ _("Place") }}
+
{{ meeting.get('place') }}
+ {% endif %} + + {% if meeting.get('url') %} +
{{ _("Website") }}
+
{{ meeting.get('url') }}
+ {% endif %} + + {% if meeting.get('session') %} +
{{ _("Session") }}
+
{{ meeting.get('session') }}
+ {% endif %} + + {% if meeting.get('session_part') %} +
{{ _("Session part") }}
+
{{ meeting.get('session_part') }}
+ {% endif %} + + {% if meeting.get('identifiers') %} + {% for alt_id in meeting["identifiers"] %} +
{{ alt_id.scheme | get_scheme_label }}
+
+ {% set url = alt_id.identifier|pid_url(scheme=alt_id.scheme) %} + {% if url %} + + {{ alt_id.identifier }} + + {% else %} + {{ alt_id.identifier }} + {% endif %} +
+ {% endfor %} + {% endif %} +{% endfor %}