enhance ref_text filter
authorcavaliet
Tue, 25 Mar 2014 16:35:10 +0100
changeset 30 301c88e40e6c
parent 29 c806a643b9d7
child 31 df2ca7a612ac
enhance ref_text filter
src/spel/static/spel/js/spectacle.js
src/spel/templates/spel_spectacle.html
src/spel/views.py
--- a/src/spel/static/spel/js/spectacle.js	Tue Mar 25 15:39:25 2014 +0100
+++ b/src/spel/static/spel/js/spectacle.js	Tue Mar 25 16:35:10 2014 +0100
@@ -1,15 +1,4 @@
 $(document).ready(function () {
-	// Init select text
-	$("#start-text").append('<option value="start">Début</option>');
-	$.each(chapterIds, function(k,v){
-		$("#start-text").append('<option value="'+ v +'">'+ v +'</option>');
-		$("#end-text").append('<option value="'+ v +'">'+ v +'</option>');
-	});
-	$("#end-text").append('<option value="end" selected="selected">Fin</option>');
-	$(".theatre-text select").on("change", function(){
-		$("#btn-filter-chapters").removeAttr('disabled');
-		document.getElementsByTagName("iframe")[0].contentWindow.location.hash = $(this).val();
-	});
 	
 	// Chapter multiselect management
 	$('.chapters .multiselect').multiselect({
@@ -99,6 +88,46 @@
 		}
 	});
 	
+	// Data 5 : ref text
+	$.ajax({
+		url: urlRT
+	})
+	.done(function( data ) {
+		var o = data.objects;
+		var n = data.objects.length;
+		var data5 = [];
+		var re = /^\d+-\d+$/;
+		for(var i=0;i<n;i++){
+			var l = o[i].name;
+			if(l.substr(0, 10)=="ref_text: "){
+				var rt = l.substr(10);
+				if(re.test(rt)){
+					var a = rt.split("-");
+					data5.push({one: parseInt(a[0]), two: parseInt(a[1]) });
+				}
+			}
+		}
+		// Sort
+		data5.sort(function(a,b){
+			if((a.one - b.one)!=0){
+				return a.one - b.one;
+			}
+			return a.two - b.two;
+		});
+		// Init select text
+		$("#start-text").append('<option value="start">Début</option>');
+		$.each(data5, function(k,val){
+			var v = val["one"] + "-" + val["two"];
+			$("#start-text").append('<option value="'+ v +'">'+ v +'</option>');
+			$("#end-text").append('<option value="'+ v +'">'+ v +'</option>');
+		});
+		$("#end-text").append('<option value="end" selected="selected">Fin</option>');
+		$(".theatre-text select").on("change", function(){
+			$("#btn-filter-chapters").removeAttr('disabled');
+			document.getElementsByTagName("iframe")[0].contentWindow.location.hash = $(this).val();
+		});
+	});
+	
 	function buildChapterTable(html){
 		$(".chapter-results").removeClass("loader");
 		$(".chapter-results").html(html);
--- a/src/spel/templates/spel_spectacle.html	Tue Mar 25 15:39:25 2014 +0100
+++ b/src/spel/templates/spel_spectacle.html	Tue Mar 25 16:35:10 2014 +0100
@@ -90,6 +90,7 @@
   var urlMS = "{% url 'api_dispatch_list' resource_name='tags' api_name='1.0' %}?format=json&limit=500&name__startswith=modalites_sceniques:";
   var urlP = "{% url 'api_dispatch_list' resource_name='tags' api_name='1.0' %}?format=json&limit=500&name__startswith=personnages:";
   var urlTI = "{% url 'api_dispatch_list' resource_name='tags' api_name='1.0' %}?format=json&limit=500&name__startswith=type_inter:";
+  var urlRT = "{% url 'api_dispatch_list' resource_name='tags' api_name='1.0' %}?format=json&limit=1000&name__startswith=ref_text:";
   var urlChapters = "{% url 'spel_chapters' %}";
   var urlAnnotations = "{% url 'spel_annotations' %}";
   var csrf_token = "{{csrf_token}}";
@@ -99,6 +100,5 @@
 	    startDate: new Date({{ start_date|date:"Y" }}, {{ start_date|date:"n"|add:"-1" }}, {{ start_date|date:"j" }}),
 	    endDate: new Date({{ end_date|date:"Y" }}, {{ end_date|date:"n"|add:"-1" }}, {{ end_date|date:"j" }})
   });
-  var chapterIds = {{ chapter_ids | safe }};
   </script>
 {% endblock %}
--- a/src/spel/views.py	Tue Mar 25 15:39:25 2014 +0100
+++ b/src/spel/views.py	Tue Mar 25 16:35:10 2014 +0100
@@ -36,7 +36,7 @@
         # Get start and end for date bounds (earliest is available only on django 1.6)
         start_date = Content.objects.all().order_by("content_creation_date")[0].content_creation_date
         end_date = Content.objects.latest("content_creation_date").content_creation_date
-        context = {"start_date":start_date, "end_date":end_date, "chapter_ids": settings.CHAPTER_IDS }
+        context = {"start_date":start_date, "end_date":end_date }
         return self.render_to_response(context)
 
 
@@ -116,14 +116,6 @@
             # Get segments from tagged items
             s = TaggedItem.objects.get_by_model(seg_queryset, tags)
         
-        #logger.debug("COUCOU")
-        #logger.debug(mod_scen_param)
-        #logger.debug(perso_param)
-        #logger.debug(mod_scen)
-        #logger.debug(perso)
-        #logger.debug(tags)
-        #logger.debug(s)
-        
         context = {"annot_types": annot_types, "mod_scen":mod_scen, "perso":perso, "segments": s}
         
         return self.render_to_response(context)