From 6ae584e7513542c1224cc477a7e62a98f57b4140 Mon Sep 17 00:00:00 2001 From: George Katsikas <giorgakis.katsikas@gmail.com> Date: Thu, 12 Sep 2024 14:09:40 +0200 Subject: [PATCH] extract person_name crossref xml tag as partial --- .../templates/xml/_person_name_crossref.html | 21 ++++++++++++++ .../templates/xml/publication_crossref.html | 28 ++----------------- 2 files changed, 24 insertions(+), 25 deletions(-) create mode 100644 scipost_django/journals/templates/xml/_person_name_crossref.html diff --git a/scipost_django/journals/templates/xml/_person_name_crossref.html b/scipost_django/journals/templates/xml/_person_name_crossref.html new file mode 100644 index 000000000..7b2f18a29 --- /dev/null +++ b/scipost_django/journals/templates/xml/_person_name_crossref.html @@ -0,0 +1,21 @@ +<person_name sequence="{% if publication_author.order == 1 %}first{% else %}additional{% endif %}" contributor_role='author'> + <given_name>{{ publication_author.first_name }}</given_name> + <surname>{{ publication_author.last_name }}</surname> + <affiliations> + {% for affiliation in publication_author.affiliations.all %} + <institution> + <institution_name>{{ affiliation.name }}</institution_name> + {% if affiliation.ror_json.ror_link %} + <institution_id type="ror">{{ affiliation.ror_json.ror_link }}</institution_id> + {% else %} {% comment %} Only if ror doesn't exist, acronyms may help {% endcomment %} + {% if affiliation.acronym %} + <institution_acronym>{{ affiliation.acronym }}</institution_acronym> + {% endif %} + {% endif %} + </institution> + {% endfor %} + </affiliations> + {% if publication_author.profile.orcid_id %} + <ORCID authenticated="{{ publication_author.profile.orcid_authenticated|yesno:"true,false" }}">https://orcid.org/{{ publication_author.profile.orcid_id }}</ORCID> + {% endif %} +</person_name> \ No newline at end of file diff --git a/scipost_django/journals/templates/xml/publication_crossref.html b/scipost_django/journals/templates/xml/publication_crossref.html index e67c8d8b4..e417c09f4 100644 --- a/scipost_django/journals/templates/xml/publication_crossref.html +++ b/scipost_django/journals/templates/xml/publication_crossref.html @@ -63,31 +63,9 @@ <title>{{ publication.title }}</title> </titles> <contributors> - {% for author_object in publication.authors.all %} - <person_name sequence="{% if author_object.order == 1 %}first{% else %}additional{% endif %}" contributor_role='author'> - <given_name>{{ author_object.first_name }}</given_name> - <surname>{{ author_object.last_name }}</surname> - <affiliations> - {% if author_object.affiliations %} - {% for aff in author_object.affiliations.all %} - <institution> - <institution_name>{{ aff.name }}</institution_name> - {% if aff.ror_json.ror_link %} - <institution_id type="ror">{{ aff.ror_json.ror_link }}</institution_id> - {% else %} {% comment %} Only if ror doesn't exist, acronyms may help {% endcomment %} - {% if aff.acronym %} - <institution_acronym>{{ aff.acronym }}</institution_acronym> - {% endif %} - {% endif %} - </institution> - {% endfor %} - {% endif %} - </affiliations> - {% if author_object.profile.orcid_id %} - <ORCID authenticated="{{ author_object.profile.orcid_authenticated|yesno:"true,false" }}">https://orcid.org/{{ author_object.profile.orcid_id }}</ORCID> - {% endif %} - </person_name> - {% endfor %} + {% for publication_author in publication.authors.all %} + {% include "xml/_person_name_crossref.html" with publication_author=publication_author %} + {% endfor %} </contributors> <jats:abstract>{{ publication.abstract_jats|safe }}</jats:abstract> <publication_date media_type='online'> -- GitLab