urlpatterns = [
url("^video/overlay/(?P<slug>.*)/$", MediaOverlayView.as_view(), name="organization-media-overlay"),
- url("^media/detail/(?P<slug>.*)/$", MediaDetailView.as_view(), name="organization-media-detail"),
+ url("^(?P<type>.*)/detail/(?P<slug>.*)/$", MediaDetailView.as_view(), name="organization-media-detail"),
url("^playlist/list/$", PlaylistListView.as_view(), name="organization-playlist-list"),
url("^playlist/list/(?P<type>.*)$", PlaylistListView.as_view(), name="organization-playlist-list"),
url("^playlist/detail/(?P<slug>.*)/$", PlaylistDetailView.as_view(), name="organization-playlist-detail"),
class MediaDetailView(SlugMixin, DetailView):
model = Media
- template_name='media/media_detail.html'
+ context_object_name = 'media'
+
+ def get_template_names(self):
+ templates = super(MediaDetailView, self).get_template_names()
+ templates.insert(0,'media/'+self.kwargs['type'].lower()+'/'+self.kwargs['type'].lower()+'_detail.html')
+ return templates
class PlaylistDetailView(SlugMixin, DetailView):
--- /dev/null
+{% extends "pages/page.html" %}
+{% load mezzanine_tags keyword_tags i18n organization_tags %}
+
+{% block meta_title %}{% trans "Media" %}{% endblock %}
+
+{% block meta_keywords %}{% metablock %}
+{% keywords_for person as keywords %}
+{% for keyword in keywords %}
+ {% if not forloop.first %}, {% endif %}
+ {{ keyword }}
+{% endfor %}
+{% endmetablock %}{% endblock %}
+
+{% block page_class %}
+ media
+{% endblock %}
+
+
+{% block page_title %}
+ {% editable person.title %}
+ <h1 class="dotted">{{ media.title }}</h1>
+ {% endeditable %}
+{% endblock %}
+
+
+
+{% block page_content %}
+
+
+{% endblock %}
{% load mezzanine_tags keyword_tags i18n organization_tags staticfiles %}
<div class="">
- <a class="media-box" href="{% url 'organization-media-detail' object.slug %}">
+ <a class="media-box" href="{% url 'organization-media-detail' object|get_media_type|lower object.slug %}">
<figure class="media-box__image media-box__image--video">
{% if object.poster_url %}
<img src="{{ object.poster_url }}">
</figure>
{{ object|get_media_type }}
+
<h2 class="media-box__title">{{ object.title }}</h2>
<div class="media-box__desc">
{{ object.description|richtext_filters|safe|truncatechars_html:200 }}
--- /dev/null
+{% extends "pages/page.html" %}
+{% load mezzanine_tags keyword_tags i18n organization_tags %}
+
+{% block meta_title %}{% trans "Media" %}{% endblock %}
+
+{% block meta_keywords %}{% metablock %}
+{% keywords_for person as keywords %}
+{% for keyword in keywords %}
+ {% if not forloop.first %}, {% endif %}
+ {{ keyword }}
+{% endfor %}
+{% endmetablock %}{% endblock %}
+
+{% block page_class %}
+ media
+{% endblock %}
+
+
+{% block page_title %}
+ {% editable person.title %}
+ <h1 class="dotted">{{ media.title }}</h1>
+ {% endeditable %}
+{% endblock %}
+
+
+
+{% block page_content %}
+ {{ media.title }}
+ {% if media.poster_url %}
+ {{ media.poster_url }}
+ {% endif %}
+
+ {{ media.publish_date|date:"j F, Y" }}
+
+ {% if media.description %}
+ {{ media.description }}
+ {% endif %}
+
+ <br><br>
+
+ {% with media.transcoded.all as media_transcoded %}
+ {% if media_transcoded %}
+ {# WEBM #}
+ {{ media_transcoded.0.url }}
+ {{ media_transcoded.0.mime_type }}
+ <br><br>
+ {# MP4 #}
+ {{ media_transcoded.1.url }}
+ {{ media_transcoded.1.mime_type }}
+ <br><br>
+ {# OGG #}
+ {{ media_transcoded.2.url }}
+ {{ media_transcoded.2.mime_type }}
+ {% endif %}
+ {% endwith %}
+{% endblock %}