Merge with 923429f142ea9ad56150466193551c2db7208826
authorrougeronj
Tue, 25 Sep 2012 11:13:51 +0200
changeset 796 7d1267aa2f55
parent 794 8d62f45fe393 (current diff)
parent 795 923429f142ea (diff)
child 797 b8a758761a59
child 798 10dedc9e975d
Merge with 923429f142ea9ad56150466193551c2db7208826
src/ldt/ldt/ldt_utils/views/content.py
--- a/src/ldt/ldt/ldt_utils/forms.py	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/forms.py	Tue Sep 25 11:13:51 2012 +0200
@@ -92,6 +92,7 @@
     media_creation_date = forms.SplitDateTimeField(widget=ldt_widgets.LdtSplitDateTime, required=False)
     media_file = forms.FileField(required=False);
     src = forms.CharField(required=False, max_length=1024)
+    media_public = forms.BooleanField(required=False)
 
     class Meta:
         model = Media
--- a/src/ldt/ldt/ldt_utils/models.py	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/models.py	Tue Sep 25 11:13:51 2012 +0200
@@ -95,6 +95,27 @@
     
     stream_src = property(**stream_src())
     
+    def is_public(): #@NoSelf
+        
+        def fget(self):
+            if self.pk:
+                everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
+                if 'view_media' in get_perms(everyone, self):
+                    return True
+            return False
+        
+        def fset(self, value):
+            if self.pk:
+                everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
+                if value:
+                    assign('ldt_utils.view_media', everyone, self.media_obj)               
+                else:
+                    remove_perm('ldt_utils.view_media', everyone, self.media_obj)
+        
+        return locals()
+    
+    is_public = property(**is_public())
+    
     def save(self, *args, **kwargs):
         self.src_hash = generate_hash(self.src)
         super(Media, self).save(*args, **kwargs)
@@ -343,11 +364,9 @@
             if self.pk:
                 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
                 if value:
-                    assign('ldt_utils.view_content', everyone, self) 
-                    assign('ldt_utils.view_media', everyone, self.media_obj)               
+                    assign('ldt_utils.view_content', everyone, self)              
                 else:
                     remove_perm('ldt_utils.view_content', everyone, self)
-                    remove_perm('ldt_utils.view_media', everyone, self.media_obj)
         
         return locals()
     
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html	Tue Sep 25 11:13:51 2012 +0200
@@ -31,7 +31,7 @@
 		];	           	
 		searchFieldInit(input_list_init);
 		
-		$("#public input[type=checkbox]").change(function () {
+		$("#media_public input[type=checkbox]").change(function () {
 			if ($(this).is(':checked')) {
 				$("#permissioncontainer").hide();
 			} else {
@@ -110,12 +110,14 @@
 
 <div id="sharecontainer">
 
-	{% if content_form %}
-	<div id="public">{{ content_form.is_public }}<label>{% trans  "publish for everyone" %}</label></div>
+	{% if media_form %}
+	<div id="media_public">{{ media_form.media_public }}<label>{% trans  "publish for everyone" %}</label></div>
 	{% endif %}
 
-	<div id="permissioncontainer" class="append-bottom clear" {% if content_form and content_form.is_public.value %}style="display: none;"{% endif %}>
+	<div id="permissioncontainer" class="append-bottom clear" {% if media_form and media_form.media_public.value %}style="display: none;"{% endif %}>
 		<div id="elemslistcontainer" clas="span-9">
+			<div id="content_public">{{ content_form.is_public }}<label>{% trans  "publish the title on the front" %}</label></div>
+			<br />
 			<div id="elemslistheader">
 				{% trans "User and group list" %}<br />
 				<div class="searchfield span-4">
--- a/src/ldt/ldt/ldt_utils/views/content.py	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/content.py	Tue Sep 25 11:13:51 2012 +0200
@@ -32,7 +32,7 @@
 import tempfile 
 
 def write_content_base(request, iri_id=None): 
-    if iri_id:        
+    if iri_id:
         instance_content = Content.safe_objects.get(iri_id=iri_id) #@UndefinedVariable
         instance_media = instance_content.media_obj
         logging.debug("write_content_base : valid form: for instance : media -> " + repr(instance_media) + " content : for instance : " + repr(instance_content)) #@UndefinedVariable
@@ -43,8 +43,7 @@
     current_front_project = None
     if instance_content:
         current_front_project = instance_content.front_project
-    
-    form_status = 'none'        
+    form_status = 'none'
     if request.method == "POST":
         
         if instance_content is not None:
@@ -234,16 +233,20 @@
                 cached_assign('view_content', request.user, content)
                 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
                 
-                if content_form.cleaned_data['is_public']:
+                if media_form.cleaned_data['media_public']:
                     cached_assign('view_content', everyone, content)
                     if media:
                         cached_assign('view_media', everyone, media)
                 else:
-                    remove_perm('ldt_utils.view_content', everyone, content)
                     remove_perm('ldt_utils.view_media', everyone, media)
-                    assign_perm_to_obj(content, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user)
                     if media:
                         assign_perm_to_obj(media, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user)
+                    if content_form.cleaned_data['is_public']:
+                        cached_assign('view_content', everyone, content)
+                    else:
+                        remove_perm('ldt_utils.view_content', everyone, content)
+                        assign_perm_to_obj(content, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user) 
+                
                 if not created:
                     for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'tags', 'media_obj'):
                         setattr(content, attribute, content_defaults[attribute])
@@ -262,14 +265,18 @@
             form_status = 'error'
     else:
         form_status = 'empty'
-        initial = { 'media_input_type':"link"}
-        if instance_content:
-            initial['is_public'] = instance_content.is_public
+        initial_c = { 'media_input_type':"link"}
+        initial_m = {}
+        if instance_media:
+            initial_m['media_public'] = instance_media.is_public
         else:
-            initial['is_public'] = True
-        
-        content_form = ContentForm(prefix="content", instance=instance_content, initial=initial)
-        media_form = MediaForm(prefix="media", instance=instance_media) 
+            initial_m['media_public'] = True
+        if instance_content:
+            initial_c['is_public'] = instance_content.is_public
+        else:
+            initial_c['is_public'] = True
+        content_form = ContentForm(prefix="content", instance=instance_content, initial=initial_c)
+        media_form = MediaForm(prefix="media", instance=instance_media, initial=initial_m) 
         picture_form = PictureForm() 
                 
         if instance_content is not None:
@@ -306,8 +313,9 @@
     else:
         content_form, media_form, picture_form, form_status, current_front_project = write_content_base(request, iri_id)
         if iri_id:
-            member_list, admin_list = get_userlist_model(Content.objects.get(iri_id=iri_id), request.user)
-            
+            content_temp = Content.objects.get(iri_id=iri_id)
+            media_temp = content_temp.media_obj
+            member_list, admin_list = get_userlist_model(media_temp, request.user)
     if iri_id:
         create_content_action = reverse('ldt.ldt_utils.views.content.write_content', kwargs={'iri_id':iri_id})
         img_container = content_form.instance
--- a/src/ldt/ldt/ldt_utils/views/front.py	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/front.py	Tue Sep 25 11:13:51 2012 +0200
@@ -17,9 +17,9 @@
 
 def front_home(request):
     # Get the 3 last annotated contents
-    last_contents = Content.objects.order_by('-stat_annotation__last_annotated').exclude(stat_annotation__nb_annotations=0)[:3]
+    last_contents = Content.safe_objects.order_by('-stat_annotation__last_annotated').exclude(stat_annotation__nb_annotations=0)[:3]
     # Get the most annotated contents
-    most_contents = Content.objects.order_by('-stat_annotation__nb_annotations')[:8]
+    most_contents = Content.safe_objects.order_by('-stat_annotation__nb_annotations')[:8]
     # Get the active groups
     active_groups = Group.objects.exclude(name=settings.PUBLIC_GROUP_NAME)[:5]
     # Get the main tag list
@@ -65,11 +65,11 @@
         tag_label = request.GET.get("tag")
         # Get all the public contents group
         if tag_label is None :
-            content_list = Content.objects.all()
+            content_list = Content.safe_objects.all()
         else :
-            content_list = TaggedItem.objects.get_by_model(Content.objects.all(), '"'+tag_label+'"')
+            content_list = TaggedItem.objects.get_by_model(Content.safe_objects.all(), '"'+tag_label+'"')
     else :
-        content_list = Content.objects.filter(title__icontains=media_title)
+        content_list = Content.safe_objects.filter(title__icontains=media_title)
     
     
     nb = settings.LDT_FRONT_MEDIA_PER_PAGE
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Tue Sep 25 11:13:51 2012 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-09-18 13:45+0200\n"
+"POT-Creation-Date: 2012-09-24 12:02+0200\n"
 "PO-Revision-Date: 2010-03-09 15:52+0100\n"
 "Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -309,7 +309,7 @@
 msgstr "<b>Lignes</b> de temps"
 
 #: .\ldt_utils\templates\front\front_base.html.py:59
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:64
+#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
 msgid "My projects"
 msgstr "Mes projets"
 
@@ -408,9 +408,9 @@
 #: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:113
 #: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:80
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:70
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:55
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:67
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:121
+#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
+#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:71
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:123
 #: .\templates\ldt\ldt_base.html.py:127
 msgid "search"
 msgstr "Recherche"
@@ -508,33 +508,23 @@
 msgid "Copy"
 msgstr "Copier"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:44
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:32
 msgid "Browse"
 msgstr "Parcourir"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:45
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:33
 msgid "File uploaded"
 msgstr "Fichier téléversé"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:46
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:34
 msgid "Please wait, the upload is not finished yet"
 msgstr "Veuillez patienter, le téléversement est en cours"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:47
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:35
 msgid "Cancel upload"
 msgstr "Annuler le téléversement"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:56
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:48
-msgid "more options"
-msgstr "Plus d'options"
-
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:60
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:52
-msgid "hide"
-msgstr "Réduire"
-
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:74
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:61
 msgid ""
 "The operation could not be performed because one or more error(s) occurred."
 "<br />Please resubmit the media form after making the following changes:"
@@ -542,37 +532,32 @@
 "opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
 "resoumettre le formulaire media après avoir fait les changements suivants:"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:88
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:75
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:53
 msgid "Create content"
 msgstr "Créer un contenu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:129
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:128
-msgid "More options"
-msgstr "Plus d'options"
-
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:133
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:115
 msgid "Actual front project"
 msgstr "Front project actuel"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:146
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:127
 msgid "media file is being processed please wait."
 msgstr "Le fichier média est en cours de traitement. Veuillez patienter."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:150
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:131
 #: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:101
 #: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:137
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:53
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:37
 #: .\ldt_utils\templates\ldt\ldt_utils\reset_confirm.html.py:53
 msgid "close_cancel"
 msgstr "Fermer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:151
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:132
 msgid "delete"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:152
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:133
 msgid "write"
 msgstr "Enregistrer"
 
@@ -609,6 +594,14 @@
 msgid "create_group"
 msgstr "Créer un nouveau groupe"
 
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:48
+msgid "more options"
+msgstr "Plus d'options"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:52
+msgid "hide"
+msgstr "Réduire"
+
 #: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:82
 msgid "Update your project"
 msgstr "Mettre à jour votre projet Lignes de Temps"
@@ -632,6 +625,10 @@
 msgid "name"
 msgstr "Nom"
 
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:128
+msgid "More options"
+msgstr "Plus d'options"
+
 #: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:139
 msgid "delete_project"
 msgstr "Effacer"
@@ -677,21 +674,16 @@
 msgid "clik here to see the project content"
 msgstr "cliquer ici pour voir le contenu du projet"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:34
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:21
 #: .\ldt_utils\templates\ldt\ldt_utils\reset_confirm.html.py:34
 msgid "error"
 msgstr "Erreur"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:34
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:21
 msgid "confirm"
 msgstr "Confirmation d'effacement"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:49
-#: .\ldt_utils\templates\ldt\ldt_utils\reset_confirm.html.py:49
-msgid "close_error"
-msgstr "Fermer"
-
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:54
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:38
 msgid "do_delete"
 msgstr "Effacer"
 
@@ -734,7 +726,7 @@
 msgstr "Projets publiés"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:68
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:65
+#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:69
 msgid "Create project"
 msgstr "Créer un nouveau projet d'indexation"
 
@@ -742,6 +734,10 @@
 msgid "confirm_reset"
 msgstr "Confirmation de réinitialisation"
 
+#: .\ldt_utils\templates\ldt\ldt_utils\reset_confirm.html.py:49
+msgid "close_error"
+msgstr "Fermer"
+
 #: .\ldt_utils\templates\ldt\ldt_utils\search_form.html.py:10
 msgid "The search field can not be empty."
 msgstr "Le champ de recherche ne peut pas être vide."
@@ -803,12 +799,12 @@
 
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:47
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:74
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:163
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:168
 msgid "share.eye"
 msgstr "Cet utilisateur ou ce groupe a le droit de voir cet élement"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:55
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:161
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:166
 msgid "share.pencil"
 msgstr "cet utilisateur ou ce groupe a le droit de modifier cet élement"
 
@@ -820,37 +816,41 @@
 msgid "publish for everyone"
 msgstr "publier pour tout le monde"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:120
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:118
+msgid "publish the title on the front"
+msgstr "publier le titre sur le front"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:121
 msgid "User and group list"
 msgstr "Liste des groupes et des utilisateurs"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:131
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:136
 msgid "select all displayed elements"
 msgstr "ajouter tous les élements affichés"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:136
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:141
 msgid "select users"
 msgstr "choisir des utilisateurs"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:137
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:142
 msgid "remove users"
 msgstr "enlever des utilisateurs"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:142
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:147
 msgid "Members list"
 msgstr "liste des membres"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:152
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:157
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\sharewith.html.py:7
 msgid "user"
 msgstr "utilisateur"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:154
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:159
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\sharewith.html.py:9
 msgid "group"
 msgstr "groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:174
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:179
 msgid "remove all"
 msgstr "tout enlever"
 
@@ -900,35 +900,35 @@
 msgid "Project published"
 msgstr "Projet publié"
 
-#: .\ldt_utils\views\content.py:174
+#: .\ldt_utils\views\content.py:169
 msgid "Problem when downloading file from url : "
 msgstr "Problème lors du téléchargement du fichier : "
 
-#: .\ldt_utils\views\content.py:177
+#: .\ldt_utils\views\content.py:172
 msgid "Problem when uploading file : "
 msgstr "Problème lors de l'upload du fichier : "
 
-#: .\ldt_utils\views\content.py:285
+#: .\ldt_utils\views\content.py:294
 #, python-format
 msgid "There is %(count)d error when deleting content"
 msgid_plural "There are %(count)d errors when deleting content"
 msgstr[0] "Il y a %(count)d erreur lors de l'effacement du contenu"
 msgstr[1] "Il y a %(count)d erreurs lors de l'effacement du contenu"
 
-#: .\ldt_utils\views\content.py:286
+#: .\ldt_utils\views\content.py:295
 msgid "title error deleting content"
 msgstr "Erreur lors de l'effacement du contenu"
 
-#: .\ldt_utils\views\content.py:288
+#: .\ldt_utils\views\content.py:297
 #, python-format
 msgid "Confirm delete content %(titles)s"
 msgstr "Veuillez confirmer l'effacement du contenu %(titles)s"
 
-#: .\ldt_utils\views\content.py:289
+#: .\ldt_utils\views\content.py:298
 msgid "confirm delete content"
 msgstr "Confirmation effacement contenu"
 
-#: .\ldt_utils\views\content.py:333
+#: .\ldt_utils\views\content.py:352
 #, python-format
 msgid ""
 "Content '%(title)s' is referenced by this project : %(project_titles)s. "
--- a/src/ldt/ldt/security/utils.py	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/security/utils.py	Tue Sep 25 11:13:51 2012 +0200
@@ -29,19 +29,27 @@
     
     for elem in xml.xpath('/iri/medias/media'):
         content = cls.safe_objects.filter(iri_id=elem.get('id'))
-        if not content:
+        if content and use_forbidden_url(content[0]) :
             elem.set('video', settings.FORBIDDEN_STREAM_URL)
-        
     return xml
 
 def use_forbidden_url(content):
-    cls = ContentType.objects.get(model='content')
-    cls = cls.model_class()
-
-    new_content = cls.safe_objects.filter(iri_id=content.iri_id)
+    c_cls = ContentType.objects.get(model='content')
+    c_cls = c_cls.model_class()
+    m_cls = ContentType.objects.get(model='media')
+    m_cls = m_cls.model_class()
+    
+    new_content = c_cls.safe_objects.filter(iri_id=content.iri_id)
+    logging.debug("new_content : " + str(new_content))
     if new_content:
-        return False
-    return True
+        logging.debug("new_content[0].media_obj.id : " + str(new_content[0].media_obj.id))
+        media = m_cls.safe_objects.filter(id=new_content[0].media_obj.id)
+        logging.debug("new_media : " + str(media))
+        if not media:
+            logging.debug("je retourne True")
+            return True
+    logging.debug("je retourne false")
+    return False
 
 def add_change_attr(user, obj_list):
     """ 
--- a/src/ldt/ldt/static/ldt/css/ldtform.css	Mon Sep 24 18:37:53 2012 +0200
+++ b/src/ldt/ldt/static/ldt/css/ldtform.css	Tue Sep 25 11:13:51 2012 +0200
@@ -104,7 +104,7 @@
 
 .ldtdate,.ldttime {
 	float: left;
-	width: 150px;
+	width: 140px;
 }
 
 .ldtdatetitle,.ldttimetitle {
@@ -160,7 +160,7 @@
 	font-weight: bold;   
 }
 
-#elemslistcontainer, #selectors, #public input {
+#elemslistcontainer, #selectors, #media_public input, #content_public input {
 	float: left;
 }