<dt>{% trans "Credits" %}</dt>
<dd>{{ media.credits }}</dd>
{% dl_field media "mime_type" %}
- <dt>{% trans "URL" %}</dt>
+ <dt>{% trans "Download" %}</dt>
<dd>
{% if media.url %}
<a href="{{ media.url }}" target="_blank">{{ media.url }}</a>
{% else %}
{% if media.file %}
- <a href="{% url telemeta-item-related item.public_id media.id %}" target="_blank">
- {% url telemeta-item-related item.public_id media.id %}
+ <a href="{% url telemeta-item-related-download item.public_id media.id %}" target="_blank">
+ {{ media.file|get_filename }}
</a>
{% endif %}
{% endif %}
url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/keywords/$', item_view.item_keywords_edit,
dict(template='telemeta/mediaitem_keywords_edit.html'), name="telemeta-item-keywords_edit"),
url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', item_view.item_delete, name="telemeta-item-delete"),
- url(r'^archives/items/(?P<item_public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)$', item_view.related_media_item_stream, name="telemeta-item-related"),
+ url(r'^archives/items/(?P<item_public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/view/$', item_view.related_media_item_stream, name="telemeta-item-related"),
+ url(r'^archives/items/(?P<item_public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/download/$', item_view.related_media_item_download, name="telemeta-item-related-download"),
url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/related_edit/$', item_view.related_media_edit, dict(template='telemeta/mediaitem_related_edit.html'), name="telemeta-item-related_edit"),
# Markers
url(r'^archives/markers/(?P<marker_id>[A-Za-z0-9]+)/$', item_view.item_detail, name="telemeta-item-detail-marker"),
def related_media_item_stream(self, request, item_public_id, media_id):
item = MediaItem.objects.get(public_id=item_public_id)
media = MediaItemRelated.objects.get(item=item, id=media_id)
+ filename = media.file.path.split(os.sep)[-1]
response = HttpResponse(stream_from_file(media.file.path), mimetype=media.mime_type)
-# response['Content-Disposition'] = 'attachment; '+'filename='+media.title+'.'+ext
+ return response
+
+ def related_media_item_download(self, request, item_public_id, media_id):
+ item = MediaItem.objects.get(public_id=item_public_id)
+ media = MediaItemRelated.objects.get(item=item, id=media_id)
+ filename = media.file.path.split(os.sep)[-1]
+ response = HttpResponse(stream_from_file(media.file.path), mimetype=media.mime_type)
+ response['Content-Disposition'] = 'attachment; ' + 'filename=' + filename
return response
@method_decorator(permission_required('telemeta.change_mediaitem'))