Skip to content

Commit

Permalink
Merge pull request #7927 from TomeCirun/7914-fix-resource-read-relies…
Browse files Browse the repository at this point in the history
…-on-datastore

[7914]Fix Core resource_read template relies on Datastore
  • Loading branch information
pdelboca committed Jan 30, 2024
2 parents 121443c + 0b8fa9f commit a8635ab
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 48 deletions.
2 changes: 2 additions & 0 deletions changes/7927.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Move datastore-specific download logic from ckan/templates/package/resource_read.html
to ckanext/datastore/templates/package/resource_read.html
1 change: 0 additions & 1 deletion ckan/lib/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2270,7 +2270,6 @@ def resource_view_is_filterable(resource_view: dict[str, Any]) -> bool:
@core_helper
def resource_view_get_fields(resource: dict[str, Any]) -> list["str"]:
'''Returns sorted list of text and time fields of a datastore resource.'''

if not resource.get('datastore_active'):
return []

Expand Down
67 changes: 20 additions & 47 deletions ckan/templates/package/resource_read.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,53 +34,26 @@
<li>{% link_for _('Views'), named_route=pkg.type ~ '_resource.views', id=pkg.name, resource_id=res.id, class_='btn btn-default', icon='chart-bar' %}
{% endif %}
{% endblock action_manage %}
<li>
<div class="btn-group">
{% if res.url and h.is_url(res.url) %}
<a class="btn btn-primary resource-url-analytics" href="{{ res.url }}">
{% if res.resource_type in ('listing', 'service') %}
<i class="fa fa-eye"></i> {{ _('View') }}
{% elif res.resource_type == 'api' %}
<i class="fa fa-key"></i> {{ _('API Endpoint') }}
{% elif not res.has_views and not res.url_type == 'upload' %}
<i class="fa fa-external-link"></i> {{ _('Go to resource') }}
{% else %}
<i class="fa fa-arrow-circle-down"></i> {{ _('Download') }}
{% endif %}
</a>
{% endif %}
{% block download_resource_button %}
{% if res.datastore_active %}
<button class="btn btn-primary dropdown-toggle" role="button" id="dropdownDownloadFormat" data-bs-toggle="dropdown" aria-expanded="false" aria-label="{{ _('List of downloadable formats') }}">
{% if not res.url or not h.is_url(res.url) %}
{{ _('Download') }}&nbsp;
{% endif %}
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownDownloadFormat">
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, bom=True) }}"
target="_blank" rel="noreferrer"><span>CSV</span></a>
</li>
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, format='tsv', bom=True) }}"
target="_blank" rel="noreferrer"><span>TSV</span></a>
</li>
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, format='json') }}"
target="_blank" rel="noreferrer"><span>JSON</span></a>
</li>
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, format='xml') }}"
target="_blank" rel="noreferrer"><span>XML</span></a>
</li>
</ul>
{% endif %}
{% endblock %}
</div>
</li>
{% endblock %}
</ul>
{% if res.url and h.is_url(res.url) %}
<li>
<div class="btn-group">
<a class="btn btn-primary resource-url-analytics" href="{{ res.url }}">
{% if res.resource_type in ('listing', 'service') %}
<i class="fa fa-eye"></i> {{ _('View') }}
{% elif res.resource_type == 'api' %}
<i class="fa fa-key"></i> {{ _('API Endpoint') }}
{% elif not res.has_views and not res.url_type == 'upload' %}
<i class="fa fa-external-link"></i> {{ _('Go to resource') }}
{% else %}
<i class="fa fa-arrow-circle-down"></i> {{ _('Download') }}
{% endif %}
</a>
{% block download_resource_button %}{% endblock download_resource_button %}
</div>
</li>
{% endif %}
{% endblock %}
</ul>
{% endblock %}
</div>
{% block resource_content %}
Expand Down
26 changes: 26 additions & 0 deletions ckanext/datastore/templates/package/resource_read.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,32 @@
{% endif %}
{% endblock %}

{% block download_resource_button %}
{% if res.datastore_active %}
<button class="btn btn-primary dropdown-toggle" role="button" id="dropdownDownloadFormat" data-bs-toggle="dropdown" aria-expanded="false" aria-label="list of downloadable formats">
<span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownDownloadFormat">
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, bom=True) }}"
target="_blank" rel="noreferrer"><span>CSV</span></a>
</li>
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, format='tsv', bom=True) }}"
target="_blank" rel="noreferrer"><span>TSV</span></a>
</li>
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, format='json') }}"
target="_blank" rel="noreferrer"><span>JSON</span></a>
</li>
<li>
<a class="dropdown-item" href="{{ h.url_for('datastore.dump', resource_id=res.id, format='xml') }}"
target="_blank" rel="noreferrer"><span>XML</span></a>
</li>
</ul>
{% endif %}
{% endblock download_resource_button %}

{% block resource_additional_information_inner %}
{% if res.datastore_active %}
{% block resource_data_dictionary %}
Expand Down

0 comments on commit a8635ab

Please sign in to comment.