diff --git a/ckanext/odsh/templates/package/snippets/contact_details.html b/ckanext/odsh/templates/package/snippets/contact_details.html index 2b1ea08afa6a570d6efbe00d0dae492352d79a89..1f6947d72c7e5fd4c9052696351cfe7b0fcd6081 100644 --- a/ckanext/odsh/templates/package/snippets/contact_details.html +++ b/ckanext/odsh/templates/package/snippets/contact_details.html @@ -1,291 +1,80 @@ -{% set author_name = pkg.author %} -{% set author_email = h.extract_email(pkg.author_email) %} -{% set author_tel = h.odsh_extract_value_from_extras(pkg.extras,'author_tel')%} -{% set author_fax = h.odsh_extract_value_from_extras(pkg.extras,'author_fax')%} -{% set author_city = h.odsh_extract_value_from_extras(pkg.extras,'author_city')%} -{% set author_zip = h.odsh_extract_value_from_extras(pkg.extras,'author_zip')%} -{% set author_street = h.odsh_extract_value_from_extras(pkg.extras,'author_street')%} -{% set author_country = h.odsh_extract_value_from_extras(pkg.extras,'author_country')%} -{% set author_zip = h.odsh_extract_value_from_extras(pkg.extras,'author_zip')%} +{% set author_data = { + 'name': pkg.author, + 'email': h.extract_email(pkg.author_email), + 'tel': h.odsh_extract_value_from_extras(pkg.extras, 'author_tel'), + 'fax': h.odsh_extract_value_from_extras(pkg.extras, 'author_fax'), + 'city': h.odsh_extract_value_from_extras(pkg.extras, 'author_city'), + 'zip': h.odsh_extract_value_from_extras(pkg.extras, 'author_zip'), + 'street': h.odsh_extract_value_from_extras(pkg.extras, 'author_street'), + 'country': h.odsh_extract_value_from_extras(pkg.extras, 'author_country') +} %} -{% set maintainer_name = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_name')%} -{% set maintainer_email = h.extract_email(h.odsh_extract_value_from_extras(pkg.extras,'maintainer_email'))%} -{% set maintainer_tel = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_tel')%} -{% set maintainer_fax = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_fax')%} -{% set maintainer_city = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_city')%} -{% set maintainer_zip = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_zip')%} -{% set maintainer_street = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_street')%} -{% set maintainer_country = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_country')%} -{% set maintainer_zip = h.odsh_extract_value_from_extras(pkg.extras,'maintainer_zip')%} +{% set maintainer_data = { + 'name': h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_name'), + 'email': h.extract_email(h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_email')), + 'tel': h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_tel'), + 'fax': h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_fax'), + 'city': h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_city'), + 'zip': h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_zip'), + 'street': h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_street'), + 'country': h.odsh_extract_value_from_extras(pkg.extras, 'maintainer_country') +} %} -{% set contact_name = h.odsh_extract_value_from_extras(pkg.extras,'contact_name')%} -{% set contact_email = h.extract_email(h.odsh_extract_value_from_extras(pkg.extras,'contact_email'))%} -{% set contact_tel = h.odsh_extract_value_from_extras(pkg.extras,'contact_tel')%} -{% set contact_fax = h.odsh_extract_value_from_extras(pkg.extras,'contact_fax')%} -{% set contact_city = h.odsh_extract_value_from_extras(pkg.extras,'contact_city')%} -{% set contact_zip = h.odsh_extract_value_from_extras(pkg.extras,'contact_zip')%} -{% set contact_street = h.odsh_extract_value_from_extras(pkg.extras,'contact_street')%} -{% set contact_country = h.odsh_extract_value_from_extras(pkg.extras,'contact_country')%} -{% set contact_zip = h.odsh_extract_value_from_extras(pkg.extras,'contact_zip')%} +{% set contact_data = { + 'name': h.odsh_extract_value_from_extras(pkg.extras, 'contact_name'), + 'email': h.extract_email(h.odsh_extract_value_from_extras(pkg.extras, 'contact_email')), + 'tel': h.odsh_extract_value_from_extras(pkg.extras, 'contact_tel'), + 'fax': h.odsh_extract_value_from_extras(pkg.extras, 'contact_fax'), + 'city': h.odsh_extract_value_from_extras(pkg.extras, 'contact_city'), + 'zip': h.odsh_extract_value_from_extras(pkg.extras, 'contact_zip'), + 'street': h.odsh_extract_value_from_extras(pkg.extras, 'contact_street'), + 'country': h.odsh_extract_value_from_extras(pkg.extras, 'contact_country') +} %} -{% set publisher_name = h.odsh_extract_value_from_extras(pkg.extras,'publisher_name')%} -{% set publisher_email = h.extract_email(h.odsh_extract_value_from_extras(pkg.extras,'publisher_email'))%} -{% set publisher_tel = h.odsh_extract_value_from_extras(pkg.extras,'publisher_tel')%} -{% set publisher_fax = h.odsh_extract_value_from_extras(pkg.extras,'publisher_fax')%} -{% set publisher_city = h.odsh_extract_value_from_extras(pkg.extras,'publisher_city')%} -{% set publisher_zip = h.odsh_extract_value_from_extras(pkg.extras,'publisher_zip')%} -{% set publisher_street = h.odsh_extract_value_from_extras(pkg.extras,'publisher_street')%} -{% set publisher_country = h.odsh_extract_value_from_extras(pkg.extras,'publisher_country')%} -{% set publisher_zip = h.odsh_extract_value_from_extras(pkg.extras,'publisher_zip')%} +{% set publisher_data = { + 'name': h.odsh_extract_value_from_extras(pkg.extras, 'publisher_name'), + 'email': h.extract_email(h.odsh_extract_value_from_extras(pkg.extras, 'publisher_email')), + 'tel': h.odsh_extract_value_from_extras(pkg.extras, 'publisher_tel'), + 'fax': h.odsh_extract_value_from_extras(pkg.extras, 'publisher_fax'), + 'city': h.odsh_extract_value_from_extras(pkg.extras, 'publisher_city'), + 'zip': h.odsh_extract_value_from_extras(pkg.extras, 'publisher_zip'), + 'street': h.odsh_extract_value_from_extras(pkg.extras, 'publisher_street'), + 'country': h.odsh_extract_value_from_extras(pkg.extras, 'publisher_country') +} %} +{% set originator_data = { + 'name': h.odsh_extract_value_from_extras(pkg.extras, 'originator_name'), + 'email': h.extract_email(h.odsh_extract_value_from_extras(pkg.extras, 'originator_email')), + 'tel': h.odsh_extract_value_from_extras(pkg.extras, 'originator_tel'), + 'fax': h.odsh_extract_value_from_extras(pkg.extras, 'originator_fax'), + 'city': h.odsh_extract_value_from_extras(pkg.extras, 'originator_city'), + 'zip': h.odsh_extract_value_from_extras(pkg.extras, 'originator_zip'), + 'street': h.odsh_extract_value_from_extras(pkg.extras, 'originator_street'), + 'country': h.odsh_extract_value_from_extras(pkg.extras, 'originator_country') +} %} -{% if pkg.author or maintainer_name or contact_name or publisher_name %} -<div class="section"> - <h3>{{ _('Contact') }}</h3> - - {% if author_name %} - <div class="sub-section"> - <h5>{{ _('Creator') }}</h5> - <table class="table table-striped"> - <tbody> - <tr> - <td> - <p> - <span property="dc:creator">{{ author_name }}</span> - </p> - {% if author_street %} - <p> - {% if author_street %} - {{ author_street }} - <br> - {% endif %} - {% if author_zip and author_city %} - {{ author_zip }} - {{ author_city }} - <br> - {% endif %} - {% if author_country %} - {{ author_country }} - {% endif %} - </p> - {% endif %} - {% if author_email or author_tel or author_fax %} - <div class="details"> - {% if author_email %} - <div class="details-item"> - <i class="fa-solid fa-envelope"></i> - <a href="mailto:{{ author_email }}"> - {{ author_email }} - </a> - </div> - {% endif %} - {% if author_tel %} - <div class="details-item"> - <i class="fa-solid fa-phone"></i> - <a href="tel:{{ author_tel }}"> - {{ author_tel }} - </a> - </div> - {% endif %} - {% if author_fax %} - <div class="details-item"> - <i class="fa-solid fa-fax"></i> - <a href="fax:{{ author_fax }}"> - {{ author_fax }} - </a> - </div> - {% endif %} - </div> - {% endif %} - </td> - </tr> - </tbody> - </table> - </div> - {% endif %} +{% set contributor_data = { + 'name': h.odsh_extract_value_from_extras(pkg.extras, 'contributor_name'), + 'email': h.extract_email(h.odsh_extract_value_from_extras(pkg.extras, 'contributor_email')), + 'tel': h.odsh_extract_value_from_extras(pkg.extras, 'contributor_tel'), + 'fax': h.odsh_extract_value_from_extras(pkg.extras, 'contributor_fax'), + 'city': h.odsh_extract_value_from_extras(pkg.extras, 'contributor_city'), + 'zip': h.odsh_extract_value_from_extras(pkg.extras, 'contributor_zip'), + 'street': h.odsh_extract_value_from_extras(pkg.extras, 'contributor_street'), + 'country': h.odsh_extract_value_from_extras(pkg.extras, 'contributor_country') +} %} - {% if publisher_name %} - <div class="sub-section"> - <h5>{{ _('Publisher') }}</h5> - <table class="table table-striped"> - <tbody> - <tr> - <td> - <p> - <span property="dc:publisher">{{ publisher_name }}</span> - </p> - {% if publisher_street %} - <p> - {% if publisher_street %} - {{ publisher_street }} - <br> - {% endif %} - {% if publisher_zip and publisher_city %} - {{ publisher_zip }} - {{ publisher_city }} - <br> - {% endif %} - {% if publisher_country %} - {{ publisher_country }} - {% endif %} - </p> - {% endif %} - {% if publisher_email or publisher_tel or publisher_fax %} - <div class="details"> - {% if publisher_email %} - <div class="details-item"> - <i class="fa-solid fa-envelope"></i> - <a href="mailto:{{ publisher_email }}"> - {{ publisher_email }} - </a> - </div> - {% endif %} - {% if publisher_tel %} - <div class="details-item"> - <i class="fa-solid fa-phone"></i> - <a href="tel:{{ publisher_tel }}"> - {{ publisher_tel }} - </a> - </div> - {% endif %} - {% if publisher_fax %} - <div class="details-item"> - <i class="fa-solid fa-fax"></i> - <a href="fax:{{ publisher_fax }}"> - {{ publisher_fax }} - </a> - </div> - {% endif %} - </div> - {% endif %} - </td> - </tr> - </tbody> - </table> - </div> - {% endif %} - {% if contact_name %} - <div class="sub-section"> - <h5>{{ _('Contact Person') }}</h5> - <table class="table table-striped"> - <tbody> - <tr> - <td> - <p> - <span>{{ contact_name }}</span> - </p> - {% if contact_street %} - <p> - {% if contact_street %} - {{ contact_street }} - <br> - {% endif %} - {% if contact_zip and contact_city %} - {{ contact_zip }} - {{ contact_city }} - <br> - {% endif %} - {% if contact_country %} - {{ contact_country }} - {% endif %} - </p> - {% endif %} - {% if contact_email or contact_tel or contact_fax %} - <div class="details"> - {% if contact_email %} - <div class="details-item"> - <i class="fa-solid fa-envelope"></i> - <a href="mailto:{{ contact_email }}"> - {{ contact_email }} - </a> - </div> - {% endif %} - {% if contact_tel %} - <div class="details-item"> - <i class="fa-solid fa-phone"></i> - <a href="tel:{{ contact_tel }}"> - {{ contact_tel }} - </a> - </div> - {% endif %} - {% if contact_fax %} - <div class="details-item"> - <i class="fa-solid fa-fax"></i> - <a href="fax:{{ contact_fax }}"> - {{ contact_fax }} - </a> - </div> - {% endif %} - </div> - {% endif %} - </td> - </tr> - </tbody> - </table> - </div> - {% endif %} +{% if author_data.name or maintainer_data.name or contact_data.name or publisher_data.name or originator_data.name or contributor_data.name %} +<div class="section"> + <h3>{{ _('Contact') }}</h3> - {% if maintainer_name %} - <div class="sub-section"> - <h5>{{ _('Maintainer') }}</h5> - <table class="table table-striped"> - <tbody> - <tr> - <td> - <p> - <span property="dc:maintainer">{{ maintainer_name }}</span> - </p> - {% if maintainer_street %} - <p> - {% if maintainer_street %} - {{ maintainer_street }} - <br> - {% endif %} - {% if maintainer_zip and maintainer_city %} - {{ maintainer_zip }} - {{ maintainer_city }} - <br> - {% endif %} - {% if maintainer_country %} - {{ maintainer_country }} - {% endif %} - </p> - {% endif %} - {% if maintainer_email or maintainer_tel or maintainer_fax %} - <div class="details"> - {% if maintainer_email %} - <div class="details-item"> - <i class="fa-solid fa-envelope"></i> - <a href="mailto:{{ maintainer_email }}"> - {{ maintainer_email }} - </a> - </div> - {% endif %} - {% if maintainer_tel %} - <div class="details-item"> - <i class="fa-solid fa-phone"></i> - <a href="tel:{{ maintainer_tel }}"> - {{ maintainer_tel }} - </a> - </div> - {% endif %} - {% if maintainer_fax %} - <div class="details-item"> - <i class="fa-solid fa-fax"></i> - <a href="fax:{{ maintainer_fax }}"> - {{ maintainer_fax }} - </a> - </div> - {% endif %} - </div> - {% endif %} - </td> - </tr> - </tbody> - </table> - </div> - {% endif %} + {% snippet "package/snippets/contact_details_item.html", data=author_data, title=_('Creator') %} + {% snippet "package/snippets/contact_details_item.html", data=maintainer_data, title=_('Maintainer') %} + {% snippet "package/snippets/contact_details_item.html", data=contact_data, title=_('Contact') %} + {% snippet "package/snippets/contact_details_item.html", data=publisher_data, title=_('Publisher') %} + {% snippet "package/snippets/contact_details_item.html", data=originator_data, title=_('Originator') %} + {% snippet "package/snippets/contact_details_item.html", data=contributor_data, title=_('Contributor') %} </div> {% endif %} \ No newline at end of file diff --git a/ckanext/odsh/templates/package/snippets/contact_details_item.html b/ckanext/odsh/templates/package/snippets/contact_details_item.html new file mode 100644 index 0000000000000000000000000000000000000000..ddec7e0f9bb9adbe2143a3dc9fb4fdb9e1077c3a --- /dev/null +++ b/ckanext/odsh/templates/package/snippets/contact_details_item.html @@ -0,0 +1,60 @@ +{% if data and title %} +<div class="sub-section"> + <h5>{{ title }}</h5> + <table class="table table-striped"> + <tbody> + <tr> + <td> + <p> + <span>{{ data.name }}</span> + </p> + {% if data.street %} + <p> + {% if data.street %} + {{ data.street }} + {% endif %} + {% if data.zip and data.city %} + <br> + {{ data.zip }} + {{ data.city }} + {% endif %} + {% if data.country %} + <br> + {{ data.country }} + {% endif %} + </p> + {% endif %} + {% if data.email or data.tel or data.fax %} + <div class="details"> + {% if data.email %} + <div class="details-item"> + <i class="fa-solid fa-envelope"></i> + <a href="mailto:{{ data.email }}"> + {{ data.email }} + </a> + </div> + {% endif %} + {% if data.tel %} + <div class="details-item"> + <i class="fa-solid fa-phone"></i> + <a href="tel:{{ data.tel }}"> + {{ data.tel }} + </a> + </div> + {% endif %} + {% if data.fax %} + <div class="details-item"> + <i class="fa-solid fa-fax"></i> + <a href="fax:{{ data.fax }}"> + {{ data.fax }} + </a> + </div> + {% endif %} + </div> + {% endif %} + </td> + </tr> + </tbody> + </table> +</div> +{% endif %} \ No newline at end of file