--- a/src/hashcut/static/hashcut/bpi/css/common.css Wed Nov 28 17:21:26 2012 +0100
+++ b/src/hashcut/static/hashcut/bpi/css/common.css Wed Nov 28 17:55:33 2012 +0100
@@ -463,7 +463,7 @@
margin-right: 4px;
max-width: 80px;
max-height: 60px;
- box-shadow: 2px 2px 2px #333333;
+ box-shadow: 1px 1px 2px #808080;
}
.item-video .video-info{
margin-left: 88px;
@@ -486,13 +486,13 @@
color: #de2500;
}
.item-video .media-count-wrap {
+ display: none;
+ height: 15px;
+ left: 66px;
+ position: absolute;
+ text-align: right;
+ top: 45px;
width: 30px;
- text-align: center;
- position: absolute;
- top: 45px;
- left: 75px;
- height: 15px;
- display: none;
}
.item-video .media-count{
color: #FFF;
@@ -502,8 +502,9 @@
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
- padding: 0 3px;
- border: 1px solid #DE2500;
+ padding: 0 2px;
+ border: 1px solid #C81000;
+ text-shadow: 1px 1px 1px #330000;
}
.item-video .subtitle{
margin-bottom: 2px;
@@ -629,15 +630,22 @@
background: #333333;
position: relative;
}
-.video-wait {
- display: none;
- position: absolute; left: 0; top: 0; width: 100%; height: 100%;
+.video-wait, .full-wait {
+ left: 0; top: 0; width: 100%; height: 100%;
background-color: rgba(120, 120, 140, .6);
background-image: url(../img/reel.gif);
background-position: center;
background-repeat: no-repeat;
- z-index: 3;
+}
+
+.video-wait {
+ position: absolute; display: none; z-index: 3;
}
+
+.full-wait {
+ position: fixed; z-index: 300;
+}
+
.widget {
position: relative;
}
--- a/src/hashcut/static/hashcut/bpi/css/edition.css Wed Nov 28 17:21:26 2012 +0100
+++ b/src/hashcut/static/hashcut/bpi/css/edition.css Wed Nov 28 17:55:33 2012 +0100
@@ -3,7 +3,9 @@
.empty-mode .bloc-pvw,
.empty-mode .bloc-segmentation,
.segment-mode .bloc-pvw,
-.pvw-mode .bloc-segmentation {
+.pvw-mode .bloc-segmentation,
+.empty-mode .publier-button,
+.segment-mode .publier-button {
display: none;
}
@@ -40,7 +42,7 @@
}
.col-middle-header{
height: 35px;
- font-size: 16px;
+ font-size: 15px;
clear: both;
}
/* Tabs */
@@ -241,9 +243,6 @@
.tutorial ol{
padding-left: 22px;
}
-.tutorial li:first-child{
- width: 324px;
-}
.tutorial li{
list-style: decimal;
font-size: 14px;
@@ -267,7 +266,7 @@
padding-top: 8px;
margin-bottom: 12px;
color: #30036d;
- font-size: 16px;
+ font-size: 15px;
font-weight: 600;
}
.left-head input {
@@ -309,7 +308,7 @@
text-align: right;
color: #30036D;
font-weight: 600;
- font-size: 16px;
+ font-size: 15px;
margin-bottom: 12px;
padding-top: 8px;
}
Binary file src/hashcut/static/hashcut/bpi/img/apercu-video.jpg has changed
Binary file src/hashcut/static/hashcut/bpi/img/bg-degrade.png has changed
Binary file src/hashcut/static/hashcut/bpi/img/border-right-segment.png has changed
Binary file src/hashcut/static/hashcut/bpi/img/visuel-home-last.jpg has changed
Binary file src/hashcut/static/hashcut/bpi/img/visuel-home-news.jpg has changed
Binary file src/hashcut/static/hashcut/bpi/img/visuel-player-bar.jpg has changed
Binary file src/hashcut/static/hashcut/bpi/img/visuel-segment.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/hashcut/templates/bpi_mashup_content.html Wed Nov 28 17:55:33 2012 +0100
@@ -0,0 +1,119 @@
+{% extends "bpi_mashup_edit.html" %}
+{% load static %}
+{% load i18n %}
+{% load analytics %}
+{% load thumbnail %}
+ {% block title %}Hashcut Media - BPI{% endblock %}
+
+
+{% block content %}
+<div class="content clearfix">
+
+ <div class="left-content">
+ <h2>Lire le Média</h2>
+ <div class="bloc-video">
+ <div class="video">
+ <div class="video-wait"></div>
+ </div>
+ <div class="widget">
+ <div class="Ldt-Slider-Container">
+ <div class="Ldt-Slider"></div>
+ </div>
+ <div class="Ldt-Slider-Time"></div>
+
+ <div class="Ldt-Ctrl">
+ <div class="Ldt-Ctrl-Left">
+ <div title="Lecture" class="Ldt-Ctrl-button Ldt-Ctrl-Play Ldt-Ctrl-Play-PlayState"></div>
+ <div class="Ldt-Ctrl-spacer"></div>
+ <div class="Ldt-Ctrl-InOutBlock">
+ <div title="Débuter le segment ici" class="Ldt-Ctrl-button Ldt-Ctrl-SetIn"></div>
+ <div class="Ldt-Ctrl-spacer"></div>
+ <div title="Finir le segment ici" class="Ldt-Ctrl-button Ldt-Ctrl-SetOut"></div>
+ <div class="Ldt-Ctrl-spacer"></div>
+ </div>
+ </div>
+ <div class="Ldt-Ctrl-Right">
+ <div class="Ldt-Ctrl-spacer"></div>
+ <div class="Ldt-Ctrl-Time">
+ <div title="Temps écoulé" class="Ldt-Ctrl-Time-Elapsed">00:00</div>
+ <div class="Ldt-Ctrl-Time-Separator">/</div>
+ <div title="Temps total" class="Ldt-Ctrl-Time-Total">1:03:30</div>
+ </div>
+ <div class="Ldt-Ctrl-spacer"></div>
+ <div title="Couper le son" class="Ldt-Ctrl-button Ldt-Ctrl-Sound Ldt-Ctrl-Sound-Full"></div>
+ </div>
+ <div title="Changer le volume" class="Ldt-Ctrl-Volume-Control">
+ <div class="Ldt-Ctrl-Volume-Bar"></div>
+ </div>
+ </div>
+
+ </div>
+ <div class="media-segments"></div>
+ </div><!-- bloc-video -->
+ </div><!-- left-content -->
+
+ <div class="right-content">
+ <h2>Plus d’informations</h2>
+ <div class="more-info-wrap">
+ <table class="more-info ">
+ <tbody>
+ <tr class="info-title">
+ <th>Titre :</th>
+ <td><a href="#">Titre du Média</a></td>
+ </tr>
+ <tr class="info-duration">
+ <th>Durée :</th>
+ <td></td>
+ </tr>
+ <tr class="info-description">
+ <th>Description : </th>
+ <td></td>
+ </tr>
+ <tr class="info-tags">
+ <th>Tags : </th>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </ul>
+ <h2>Hashcuts utilisant le média</h2>
+ <ul class="list-video">
+
+ </ul>
+ </div><!-- right-content -->
+</div><!-- content -->
+{% endblock %}
+<!-- JavaScript -->
+{% block js_import %}
+<script type="text/javascript" src="{% static 'hashcut/lib/jquery.min.js' %}"></script>
+<script type="text/javascript" src="{% static 'hashcut/lib/jquery-ui.min.js' %}"></script>
+<script type="text/javascript" src="{% static 'hashcut/js/common.js' %}"></script>
+<script type="text/javascript" src="{% static 'hashcut/lib/underscore-min.js' %}"></script>
+<script type="text/javascript" src="{% static 'hashcut/lib/popcorn-complete.min.js' %}"></script>
+<script type="text/javascript" src="{% static 'hashcut/lib/ZeroClipboard.js' %}"></script>
+<script type="text/javascript" src="{% static 'hashcut/js/hashcut.js' %}"></script>
+<script type="text/javascript">
+ IriSP.endpoints = {
+ content: "{% url api_dispatch_list api_name='1.0' resource_name='contents' %}",
+ project: "{% url api_dispatch_list api_name='1.0' resource_name='projects' %}",
+ segment: "{% url api_dispatch_list api_name='1.0' resource_name='segments' %}",
+ ldt: "{% url projectjson_id id='' %}",
+ hashcut_page: "{% url mashup_hashcut branding=branding ldt_id='' %}"
+ };
+
+ $(function() {
+ IriSP.video_url_transform = function(oldurl) {
+ var newurl = oldurl.replace(/mp4:/i,'');
+ newurl = newurl.replace(/ddc_player\//i,'');
+ newurl = newurl.replace(/rtmp/i,'http');
+ return newurl;
+ };
+ IriSP.mediaplayer({
+ id: "{{ctt_id}}"
+ });
+ IriSP.social();
+ });
+</script>
+{% endblock %}
+
--- a/src/hashcut/templates/bpi_mashup_edit.html Wed Nov 28 17:21:26 2012 +0100
+++ b/src/hashcut/templates/bpi_mashup_edit.html Wed Nov 28 17:55:33 2012 +0100
@@ -3,7 +3,7 @@
{% load i18n %}
{% load analytics %}
{% load thumbnail %}
- <title>{% block title %}Hashcut Edition - BPI{% endblock %}</title>
+ {% block title %}Hashcut Edition - BPI{% endblock %}
{% block css_import %}
{{ block.super }}
<link rel="stylesheet" href="{% static 'hashcut/lib/jquery.tagit.css' %}" />
@@ -275,9 +275,9 @@
return newurl;
};
var hashcut = IriSP.editor({
+ creator: "{{creator}}",
+ csrf_token: "{{csrf_token}}",
filter: {
- creator: "{{creator}}",
- csrf_token: "{{csrf_token}}",
tags__icontains: "BPI"
}
});
--- a/src/hashcut/templates/bpi_mashup_hashcut.html Wed Nov 28 17:21:26 2012 +0100
+++ b/src/hashcut/templates/bpi_mashup_hashcut.html Wed Nov 28 17:55:33 2012 +0100
@@ -3,7 +3,7 @@
{% load i18n %}
{% load analytics %}
{% load thumbnail %}
- <title>{% block title %}Hashcut Playing - BPI{% endblock %}</title>
+ {% block title %}Hashcut Playing - BPI{% endblock %}
{% block css_import %}
{{ block.super }}
<link rel="stylesheet" href="{% static 'hashcut/bpi/css/players.css' %}" />
@@ -170,7 +170,7 @@
project: "{% url api_dispatch_list api_name='1.0' resource_name='projects' %}",
segment: "{% url api_dispatch_list api_name='1.0' resource_name='segments' %}",
ldt: "{% url projectjson_id id='' %}",
- media_page: "media.html?media="
+ media_page: "{% url mashup_content branding=branding ctt_id='' %}"
};
$(function() {
--- a/src/hashcut/templates/partial/bpi_mashup_popin_user.html Wed Nov 28 17:21:26 2012 +0100
+++ b/src/hashcut/templates/partial/bpi_mashup_popin_user.html Wed Nov 28 17:55:33 2012 +0100
@@ -3,7 +3,7 @@
<div class="popin user info" id="user">
<div class="pointer"></div>
<div class="popin-content">
- <h2>Mashup75</h2>
+ <h2>{{creator}}</h2>
<h3>mash@cinecast.fr</h3>
<a href="#" class="nb-hashcut">12 Hashcuts</a>
<p>
--- a/src/hashcut/urls.py Wed Nov 28 17:21:26 2012 +0100
+++ b/src/hashcut/urls.py Wed Nov 28 17:55:33 2012 +0100
@@ -1,9 +1,10 @@
from django.conf.urls.defaults import patterns, url
-from hashcut.views import MashupHome, MashupEdit, MashupHashcut
+from hashcut.views import MashupHome, MashupEdit, MashupHashcut, MashupContent
urlpatterns = patterns('',
url(r'^(?P<branding>.*)/edit/$', MashupEdit.as_view(), name="mashup_edit"),
url(r'^(?P<branding>.*)/hashcut/(?P<ldt_id>.*)/$', MashupHashcut.as_view(), name="mashup_hashcut"),
+ url(r'^(?P<branding>.*)/media/(?P<ctt_id>.*)/$', MashupContent.as_view(), name="mashup_content"),
url(r'^(?P<branding>.*)/$', MashupHome.as_view(), name="mashup_home"),
url(r'^$', MashupHome.as_view()),
)
--- a/src/hashcut/views.py Wed Nov 28 17:21:26 2012 +0100
+++ b/src/hashcut/views.py Wed Nov 28 17:55:33 2012 +0100
@@ -67,7 +67,7 @@
def get(self, request, branding="iri", **kwargs):
logging.debug("COUCOU")
self.branding = branding
- context = {"branding":self.branding}
+ context = {"branding":self.branding, "creator":request.user.username}
return self.render_to_response(context)
@@ -102,6 +102,38 @@
context = {"branding":self.branding, "ldt_id":ldt_id}
return self.render_to_response(context)
+
+
+class MashupContent(TemplateResponseMixin, View):
+
+ # iri = default brand name
+ branding = "iri"
+ template_suffix = "mashup_content.html"
+ template_name = "iri_mashup_content.html"
+
+ def get_template_names(self):
+ """
+ Return a list of template names to be used for the request. Must return
+ a list. May not be called if get_template is overridden.
+ """
+ try:
+ names = super(MashupContent, self).get_template_names()
+ except ImproperlyConfigured:
+ raise ImproperlyConfigured("Class MashupContent requires either a definition of 'template_name'")
+
+ # the branding template is supposed to override the default template. So we insert instead of append
+ if self.branding and self.branding != "":
+ names.insert(0,"%s_%s" % (self.branding, self.template_suffix))
+
+ return names
+
+ def get(self, request, branding="iri", ctt_id=None, **kwargs):
+ self.branding = branding
+ if not ctt_id:
+ return HttpResponseNotFound("A content id must be given.")
+ context = {"branding":self.branding, "ctt_id":ctt_id}
+ return self.render_to_response(context)
+