--- a/src/ldt/ldt/ldt_utils/models.py Thu Oct 11 18:59:08 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/models.py Thu Oct 11 18:59:38 2012 +0200
@@ -284,9 +284,11 @@
create_front_project = False
+ # update it
+ self.sync_iri_file()
+
if not self.pk:
- create_front_project = True
-
+ create_front_project = True
super(Content, self).save(*args, **kwargs)
@@ -296,10 +298,6 @@
self.create_front_project()
assign('ldt_utils.change_content', get_current_user(), self)
- # update it
- # To put after project creation, to assume transaction
- self.sync_iri_file()
-
def __unicode__(self):
return str(self.id) + ": " + self.iri_id
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_popup.html Thu Oct 11 18:59:08 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_popup.html Thu Oct 11 18:59:38 2012 +0200
@@ -1,5 +1,4 @@
{% load i18n %}
-{% load set_var %}
{% load analytics %}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
@@ -16,57 +15,20 @@
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.qtip.min.js"></script>
<script type="text/javascript">
var $j = jQuery.noConflict();
+ var iframe_url='{{iframe_url}}';
+ var polemic='{{polemic}}';
+ var show_mic_record='{{show_mic_record}}';
+ var annotations_list='{{annotations_list}}';
+ var player_id='{{player_id}}';
+ var translate_show="{% trans 'Show Player' %}";
+ var translate_hide="{% trans 'Hide Player' %}";
</script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/embed_popup.js"></script>
<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/workspace.css" type="text/css"/>
<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/embed_popup.css" type="text/css"/>
<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/jq-css/jquery.qtip.css" type="text/css"/>
- <script type="text/javascript">
- function iframe_event(){
- var code_embed=document.getElementById("player_id_code");
- iframeUrl= "{{iframe_url}}&polemic={{polemic}}&show_mic_record={{show_mic_record}}&annotations_list={{annotations_list}}";
- player_width=570;
- player_height=678;
- frame = document.createElement("iframe");
- frame.width = 570;
- frame.height = 678;
- frame.src = iframeUrl;
- frame.frameBorder = 0;
- frame.seamless = "seamless";
- $j("#wrapper_{{player_id}}").html(frame);
- iframe_code="<iframe src='"+iframeUrl+"' width='570' height='678' seamless='seamless'></iframe>";
- $j("#player_id_code").val(iframe_code);
- $j("#player_id_code").focus();
- $j("#player_id_code").select();
- }
- </script>
- <script type="text/javascript">
- function div_event(){
- var new_code=document.getElementById("embed_code_var").value;
- var code_embed=document.getElementById("player_id_code");
- $j("#wrapper_{{player_id}}").html(new_code);
- code_embed.value= new_code;
- $j("#player_id_code").focus();
- $j("#player_id_code").select();
- }
- </script>
-
- <script type="text/javascript">
- function toggle() {
- var element = document.getElementById("wrapper_{{player_id}}");
- var text = document.getElementById("displayPlayer");
- if(element.style.display==="none") {
- element.style.display="block";
- text.innerHTML = "{% trans 'Hide Player' %}";
- }
- else {
- element.style.display="none";
- text.innerHTML = "{% trans 'Show Player' %}";
- }
- }
- </script>
</head>
<body id="init_embed_popup">
@@ -77,7 +39,6 @@
<a id="displayPlayer" href="javascript:toggle();">{% trans 'Show Player' %}</a>
<div class="ldt_player" id="wrapper_{{player_id}}" style="display:none">
- {% include "ldt/ldt_utils/partial/embed_player.html" %}
</div>
<div id="button_row">
<div id="display_select">
@@ -89,9 +50,9 @@
<br></br>
<code id ="code_{{player_id}}" >
<div id="player_code">
- <br><div align="center">
- <input type="radio" name="player_code_type" value="div" checked onClick="div_event()" > {% trans 'Use the div integration mode' %}</input><br>
- <input type="radio" name="player_code_type" value="iframe" onClick="iframe_event()"> {% trans 'Use the iframe integration mode' %}</input><br>
+ <br><div>
+ <input type="radio" id="type_embed_div" name="player_code_type" value="div" checked onClick="div_event()" > {% trans 'Use the div integration mode' %}</input><br>
+ <input type="radio" id="type_embed_iframe" name="player_code_type" value="iframe" onClick="iframe_event()"> {% trans 'Use the iframe integration mode' %}</input><br>
</div></br>
<textarea id="player_id_code" readonly="readonly" class="ldt_player_code">{{ embed_rendered.player }}</textarea>
</div>
--- a/src/ldt/ldt/ldt_utils/views/content.py Thu Oct 11 18:59:08 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/content.py Thu Oct 11 18:59:38 2012 +0200
@@ -314,26 +314,20 @@
deleted = None
if submit_action == "prepare_delete":
- errors, titles, delete, message_temp = prepare_delete_content(request, iri_id)
- #if there is only front_project, with no annotations, delete without confirmation
- if delete:
- deleted, errors_transaction = delete_content(request, iri_id)
- content_form = ContentForm()
- form_status="deleted"
+ errors, titles, message_temp = prepare_delete_content(request, iri_id)
+ if errors and len(errors) > 0:
+ message = ungettext("There is %(count)d error when deleting content", "There are %(count)d errors when deleting content", len(errors)) % { 'count': len(errors)}
+ title_msg = _('title error deleting content')
else:
- if errors and len(errors) > 0:
- message = ungettext("There is %(count)d error when deleting content", "There are %(count)d errors when deleting content", len(errors)) % { 'count': len(errors)}
- title_msg = _('title error deleting content')
- else:
- if len(message_temp)>0:
- message = message_temp
- else:
- message = _("Confirm delete content %(titles)s") % { 'titles' : ",".join(titles) }
- title_msg = _("confirm delete content")
- return render_to_response('ldt/ldt_utils/error_confirm.html', {'errors':errors, 'message':message, 'title': title_msg}, context_instance=RequestContext(request))
+ if len(message_temp)>0:
+ message = message_temp
+ else:
+ message = _("Confirm delete content %(titles)s") % { 'titles' : ",".join(titles) }
+ title_msg = _("confirm delete content")
+ return render_to_response('ldt/ldt_utils/error_confirm.html', {'errors':errors, 'message':message, 'title': title_msg}, context_instance=RequestContext(request))
elif submit_action == "delete":
deleted, errors_transaction = delete_content(request, iri_id)
- content_form = contentForm()
+ content_form = ContentForm()
form_status = "deleted"
elif submit_action == "prepare_reset":
errors=[]
@@ -418,13 +412,9 @@
project_titles = map(lambda p: unicode(p.title), projects)
errors.append(ungettext("Content '%(title)s' is referenced by this project : %(project_titles)s. Please delete it beforehand.", "Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. Please delete them beforehand.", projects_nb) % {'title':unicode(content.title), 'count':projects_nb, 'project_titles': ",".join(project_titles)})
elif projects_nb == 1:
- if not projects[0].has_annotations():
- delete = True
- else:
+ if projects[0].has_annotations():
message = _("The project '%(project_title)s' pointing on the content '%(title)s' has several annotations. Do you want to delete the content and the project anyway ?")% {'project_title':unicode(projects[0].title), 'title':unicode(content.title)}
- elif project_nb == 0:
- delete = True
- return errors, titles, delete, message
+ return errors, titles, message
@login_required
--- a/src/ldt/ldt/ldt_utils/views/lignesdetemps.py Thu Oct 11 18:59:08 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/lignesdetemps.py Thu Oct 11 18:59:38 2012 +0200
@@ -4,7 +4,7 @@
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
-from ldt.ldt_utils.models import Content, Project
+from ldt.ldt_utils.models import Content, Project, Media
from ldt.ldt_utils.utils import LdtUtils, clean_description
from ldt.indexation import SimpleSearch
from ldt.security.utils import set_forbidden_stream
@@ -247,7 +247,7 @@
#save xml ldt
ldtproject.ldt = ldt
-
+
doc = lxml.etree.fromstring(ldtproject.ldt_encoded)
result = doc.xpath("/iri/project")
@@ -260,6 +260,12 @@
for medianode in result:
id = medianode.get("id")
new_contents.append(id)
+ #Put back the video fied from "forbidden_stream_url" to the video url
+ if medianode.get("video") == settings.FORBIDDEN_STREAM_URL:
+ content = Content.objects.get(iri_id=id)
+ media = Media.objects.get(id=content.media_obj.id)
+ medianode.set('video', media.videopath)
+ ldtproject.ldt = lxml.etree.tostring(doc, pretty_print=True)
check_icon_project = False
--- a/src/ldt/ldt/static/ldt/js/embed_popup.js Thu Oct 11 18:59:08 2012 +0200
+++ b/src/ldt/ldt/static/ldt/js/embed_popup.js Thu Oct 11 18:59:38 2012 +0200
@@ -69,4 +69,97 @@
});
+function toggle() {
+ wrapper="wrapper_"+player_id;
+ wrapper_id="#"+wrapper;
+ var element = document.getElementById(wrapper);
+ var text = document.getElementById("displayPlayer");
+ var type_embed=document.getElementById("type_embed_div");
+ if(element.style.display==="none") {
+ if (type_embed.checked){
+ var new_code=document.getElementById("embed_code_var").value;
+ $j(wrapper_id).html(new_code);
+ }
+ else{
+ wrapper = "#wrapper_"+player_id;
+ iframeUrl= iframe_url+"&polemic="+polemic+"&show_mic_record="+show_mic_record+"&annotations_list="+annotations_list+"";
+ player_width=570;
+ player_height=678;
+ if(annotations_list!='False'){
+ player_width+=430;
+ }
+ if(polemic!='False'){
+ player_height+=100;
+
+ }
+ if(show_mic_record!='False'){
+
+ player_height+=55;
+ }
+ frame = document.createElement("iframe");
+ frame.width = player_width;
+ frame.height = player_height;
+ frame.src = iframeUrl;
+ frame.frameBorder = 0;
+ frame.seamless = "seamless";
+ $j(wrapper).html(frame);
+
+ }
+ element.style.display="block";
+ text.innerHTML = translate_hide;
+ }
+ else {
+ $j(wrapper_id).html('');
+ element.style.display="none";
+ text.innerHTML = translate_show;
+ }
+}
+function div_event(){
+ wrapper = "wrapper_"+player_id;
+ wrapper_id = "#"+wrapper;
+ var element = document.getElementById(wrapper);
+ var new_code=document.getElementById("embed_code_var").value;
+ var code_embed=document.getElementById("player_id_code");
+ if(element.style.display=="block"){
+ $j(wrapper_id).html(new_code);
+ }
+ code_embed.value= new_code;
+ $j("#player_id_code").focus();
+ $j("#player_id_code").select();
+}
+
+function iframe_event(){
+ var code_embed=document.getElementById("player_id_code");
+ wrapper = "wrapper_"+player_id;
+ wrapper_id = "#"+wrapper;
+ var element = document.getElementById(wrapper);
+ iframeUrl= iframe_url+"&polemic="+polemic+"&show_mic_record="+show_mic_record+"&annotations_list="+annotations_list+"";
+ player_width=570;
+ player_height=678;
+ if(annotations_list!='False'){
+ player_width+=430;
+ }
+ if(polemic!='False'){
+ player_height+=100;
+
+ }
+ if(show_mic_record!='False'){
+
+ player_height+=55;
+ }
+
+ if(element.style.display=="block"){
+ frame = document.createElement("iframe");
+ frame.width = player_width;
+ frame.height = player_height;
+ frame.src = iframeUrl;
+ frame.frameBorder = 0;
+ frame.seamless = "seamless";
+ $j(wrapper_id).html(frame);
+ }
+ iframe_code="<iframe src='"+iframeUrl+"' width='"+player_width+"' height='"+player_height+"' seamless='seamless'></iframe>";
+ $j("#player_id_code").val(iframe_code);
+ $j("#player_id_code").focus();
+ $j("#player_id_code").select();
+}