v1.51.13 and toggle annotations and group filter for merge project. V01.51.13
authorcavaliet
Wed, 27 Nov 2013 16:17:30 +0100
changeset 1258 79cca551f9d0
parent 1257 d2cc6ecc3aa0
child 1259 b1775e142c44
v1.51.13 and toggle annotations and group filter for merge project.
src/ldt/ldt/__init__.py
src/ldt/ldt/api/ldt/resources/content.py
src/ldt/ldt/ldt_utils/templates/front/front_group.html
src/ldt/ldt/ldt_utils/templates/front/front_player.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html
src/ldt/ldt/ldt_utils/views/front.py
src/ldt/ldt/static/ldt/css/front_player.css
src/ldt/ldt/static/ldt/metadataplayer/Tooltip.js
--- a/src/ldt/ldt/__init__.py	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/__init__.py	Wed Nov 27 16:17:30 2013 +0100
@@ -1,6 +1,6 @@
 __all__ = ["VERSION", "get_version", "__version__"]
 
-VERSION = (1, 51, 12, "final", 0)
+VERSION = (1, 51, 13, "final", 0)
 
 
 def get_version():
--- a/src/ldt/ldt/api/ldt/resources/content.py	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/api/ldt/resources/content.py	Wed Nov 27 16:17:30 2013 +0100
@@ -1,6 +1,8 @@
 from django.conf.urls import url
+from django.contrib.auth.models import Group
 from django.shortcuts import get_object_or_404
 from itertools import groupby
+from guardian.shortcuts import get_objects_for_group
 from ldt.indexation import get_results_list
 from ldt.ldt_utils.models import Content, Media, Project
 from ldt.ldt_utils.projectserializer import ProjectJsonSerializer, ProjectMerger
@@ -95,7 +97,14 @@
         # Unprotect the time to build the project
         unprotect_models()
         
-        projects = Project.objects.filter(contents__in=[content], state=2)
+        # add filter
+        group_id = request.GET.get("group")
+        if group_id is not None :
+            group = get_object_or_404(Group, id=group_id)
+            projects = get_objects_for_group(group, "view_project", Project.objects.filter(contents__in=[content], state=2))
+        else:
+            projects = Project.objects.filter(contents__in=[content], state=2)
+        
         pm = ProjectMerger(content, projects)
         proj = pm.get_merged_project(False)
         ps = ProjectJsonSerializer(proj)
--- a/src/ldt/ldt/ldt_utils/templates/front/front_group.html	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_group.html	Wed Nov 27 16:17:30 2013 +0100
@@ -89,9 +89,9 @@
     </li>
     {% for content in content_list %}
     <li class="li_media">
-        <a href="{% url 'ldt.ldt_utils.views.front.all_projects_for_media' content.iri_id %}">{% thumbnail content.image "134x75" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{% trans 'open this media' %}" title="{% trans 'open this media' %}">{% endthumbnail %}</a>
+        <a href="{% url 'ldt.ldt_utils.views.front.all_projects_for_media' content.iri_id %}?group={{ group.id }}">{% thumbnail content.image "134x75" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{% trans 'open this media' %}" title="{% trans 'open this media' %}">{% endthumbnail %}</a>
         <div class="bulle_annot" title="{% blocktrans count nb=content.nb_annotations %}{{nb}} annotation on this media{% plural %}{{nb}} annotations on this media{% endblocktrans %}">{{content.nb_annotations}}</div>
-        <p><a href="{% url 'ldt.ldt_utils.views.front.all_projects_for_media' content.iri_id %}" title="{% trans 'open this media' %}"><b>{% if content.title|length > 69 %}{{content.title|slice:":69"}}...{% else %}{{content.title}}{% endif %}</b></a></p>
+        <p><a href="{% url 'ldt.ldt_utils.views.front.all_projects_for_media' content.iri_id %}?group={{ group.id }}" title="{% trans 'open this media' %}"><b>{% if content.title|length > 69 %}{{content.title|slice:":69"}}...{% else %}{{content.title}}{% endif %}</b></a></p>
         <p class="font_11">{% trans 'by' %} IRI | {{content.duration|str_duration:"h"}}</p>
     </li>
     {% endfor %}
--- a/src/ldt/ldt/ldt_utils/templates/front/front_player.html	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_player.html	Wed Nov 27 16:17:30 2013 +0100
@@ -10,6 +10,13 @@
 <link rel="stylesheet" href='{% static "ldt/css/front_player.css" %}' type="text/css"/>
 <link rel="stylesheet" href='{% static "ldt/css/embed_popup.css" %}' type="text/css"/>
 <link rel="stylesheet" href='{% static "ldt/css/jq-css/jquery.qtip.css" %}' type="text/css"/>
+{% if toggle_multisegments %}
+<style type="text/css">
+	#{{player_id}}_embed_widget_MultiSegments_11 {
+	    display: none;
+	}
+</style>
+{% endif %}
 {% endblock %}
 
 {% block js_declaration %}
@@ -24,6 +31,9 @@
             $j("#search_submit").addClass('search_invalid').removeClass('search_valid');
             $j("#search_submit").attr('disabled', 'disabled');
         });
+        $j(".toggle_multisegments").click(function () {
+        	$j("#{{player_id}}_embed_widget_MultiSegments_11").toggle();
+        });
     });
 </script>
 {% endblock %}
@@ -38,6 +48,9 @@
     <div class="ldt_player" id="wrapper_{{player_id}}">
     {% include "ldt/ldt_utils/partial/embed_player.html" %}
     </div>
+    {% if toggle_multisegments %}
+    <button class="toggle_multisegments">{% trans 'Afficher/Masquer les annotations' %}</button>
+    {% endif %}
 </div>
 
 <!-- Right column -->
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html	Wed Nov 27 16:17:30 2013 +0100
@@ -77,6 +77,9 @@
             type: "Controller"
         },{
             type: "MultiSegments"
+            {% if toggle_multisegments %},
+            visible_by_default: false
+            {% endif %}
         },{
             type: "Tweet",
             hide_timeout: 5000
--- a/src/ldt/ldt/ldt_utils/views/front.py	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/ldt_utils/views/front.py	Wed Nov 27 16:17:30 2013 +0100
@@ -206,6 +206,11 @@
     
     json_url = reverse("api_content_all_projects", kwargs={'api_name': '1.0', 'resource_name': 'contents', 'iri_id': content_iri_id})
     
+    # add filter
+    group_id = request.GET.get("group")
+    if group_id is not None :
+        json_url += "?group=" + group_id
+    
     player_width = 854
     player_height = 480
     stream_mode = "video"
@@ -216,7 +221,7 @@
     return render_to_response("front/front_player.html",
                               {'content': content, 'player_id': player_id, 
                               'json_url': json_url, 'player_width':player_width, 'player_height':player_height, 'stream_mode':stream_mode, 'external_url':external_url,
-                               'is_gecko': is_gecko, 'annotation_block':annotation_block},
+                               'is_gecko': is_gecko, 'annotation_block':annotation_block, 'toggle_multisegments':True},
                               context_instance=RequestContext(request))
 
 
--- a/src/ldt/ldt/static/ldt/css/front_player.css	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/static/ldt/css/front_player.css	Wed Nov 27 16:17:30 2013 +0100
@@ -1,5 +1,5 @@
 #player_col_g {
-    float: left; margin: 10px 0;/* width: 550px;*/
+    float: left; margin: 10px 0; position: relative;
 }
 
 #top_media {
@@ -27,3 +27,12 @@
 #Social_ext {
     float: right; margin: 5px 0 8px 280px; height: 24px;
 }
+
+.toggle_multisegments{
+    font-size: 12px;
+    height: 50px;
+    position: absolute;
+    right: -125px;
+    top: 584px;
+    width: 120px;
+}
\ No newline at end of file
--- a/src/ldt/ldt/static/ldt/metadataplayer/Tooltip.js	Tue Nov 26 17:05:09 2013 +0100
+++ b/src/ldt/ldt/static/ldt/metadataplayer/Tooltip.js	Wed Nov 27 16:17:30 2013 +0100
@@ -28,7 +28,7 @@
     this.$tip = this.$.find(".Ldt-Tooltip-Tip");
     this.$sw = this.$.find(".Ldt-Tooltip-Border-SW");
     this.$se = this.$.find(".Ldt-Tooltip-Border-SE");
-    this.__halfWidth = Math.floor(this.$.find(".Ldt-Tooltip-Main").width()/2);
+    this.__halfWidth = Math.floor(( this.$.find(".Ldt-Tooltip-Main").width() || 192)/2);
     this.__borderWidth = this.$.find(".Ldt-Tooltip-Border-Left").width();
     this.__tipDelta = this.__halfWidth - Math.floor(this.$tip.width()/2);
     this.__maxShift = this.__tipDelta - this.__borderWidth;