# HG changeset patch # User rougeronj # Date 1348564033 -7200 # Node ID 923429f142ea9ad56150466193551c2db7208826 # Parent 12ba862f33fa3f31fe600ad43dbcfe2313960ba4 Possibility to list a content on the front or not, with a private media. A media can be private, and the content public (listed or not) diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/ldt_utils/forms.py --- a/src/ldt/ldt/ldt_utils/forms.py Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/forms.py Tue Sep 25 11:07:13 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 diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/models.py Tue Sep 25 11:07:13 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() diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html Tue Sep 25 11:07:13 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 @@
- {% if content_form %} -
{{ content_form.is_public }}
+ {% if media_form %} +
{{ media_form.media_public }}
{% endif %} -
+
+
{{ content_form.is_public }}
+
{% trans "User and group list" %}
diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/ldt_utils/urls.py --- a/src/ldt/ldt/ldt_utils/urls.py Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/urls.py Tue Sep 25 11:07:13 2012 +0200 @@ -25,7 +25,7 @@ url(r'^update/(?P.*)$', 'views.project.update_project'), url(r'^cljson/id/(?P.*)$', 'views.json.project_json_id', name="projectjson_id"), url(r'^cljson/externalid/(?P.*)$', 'views.json.project_json_externalid', name="projectjson_externalid"), - url(r'cljson/idcutting/(?P.*)/(?P.*)$', 'views.json.project_json_cutting_id'), + url(r'^cljson/idcutting/(?P.*)/(?P.*)$', 'views.json.project_json_cutting_id'), url(r'^rdf/id/(?P.*)$', 'views.rdf.project_annotations_rdf'), url(r'^workspace/?$', "views.workspace.home", name="root-view"), url(r'^filterprojects/_(?P[\w\%\_\-\+]*?)/(?Ptrue|false)/(?P\d)$', "views.project.projects_filter",), diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/ldt_utils/views/content.py --- a/src/ldt/ldt/ldt_utils/views/content.py Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/views/content.py Tue Sep 25 11:07:13 2012 +0200 @@ -29,7 +29,7 @@ import urlparse 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 @@ -40,8 +40,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: @@ -65,7 +64,6 @@ value = request.POST.get(k) content_instance_val[k] = value media_instance_val[k] = value - logging.debug("keys : "+k+"value : "+value+" Louiselogging") content_instance_val['read_list'] = request.POST.getlist('read_list') content_instance_val['write_list'] = request.POST.getlist('write_list') @@ -223,16 +221,24 @@ cached_assign('view_content', request.user, content) everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) - if content_form.cleaned_data['is_public']: + # On separe la gestion des permissions du media et du content + # Si le media est public, alors le content l'est automatiquement + # Si le media n'est pas public, on veut pouvoir choisir si le content est liste ou non sur le front + + 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]) @@ -251,14 +257,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: @@ -296,9 +306,9 @@ else: content_form, media_form, picture_form, form_status, current_front_project = write_content_base(request, iri_id) if iri_id: - case=2 - 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 @@ -306,7 +316,6 @@ else: create_content_action = reverse('ldt.ldt_utils.views.content.write_content') img_container = '' - case=1 session_key = request.COOKIES[settings.SESSION_COOKIE_NAME] cookie_name = settings.SESSION_COOKIE_NAME diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/ldt_utils/views/front.py --- a/src/ldt/ldt/ldt_utils/views/front.py Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/views/front.py Tue Sep 25 11:07:13 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 diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/locale/fr/LC_MESSAGES/django.po --- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Tue Sep 25 11:07:13 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 \n" "Language-Team: LANGUAGE \n" @@ -309,7 +309,7 @@ msgstr "Lignes 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." "
Please resubmit the media form after making the following changes:" @@ -542,37 +532,32 @@ "opération impossible à cause d'une ou plusieurs erreurs.
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. " diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/security/utils.py --- a/src/ldt/ldt/security/utils.py Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/security/utils.py Tue Sep 25 11:07:13 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): """ diff -r 12ba862f33fa -r 923429f142ea src/ldt/ldt/static/ldt/css/ldtform.css --- a/src/ldt/ldt/static/ldt/css/ldtform.css Thu Sep 20 12:43:02 2012 +0200 +++ b/src/ldt/ldt/static/ldt/css/ldtform.css Tue Sep 25 11:07:13 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; }