# HG changeset patch # User rougeronj # Date 1348564431 -7200 # Node ID 7d1267aa2f55b71eaf74dacfa3d545ef79c1e904 # Parent 8d62f45fe393ffb2515808ca447033efdb34dd23# Parent 923429f142ea9ad56150466193551c2db7208826 Merge with 923429f142ea9ad56150466193551c2db7208826 diff -r 8d62f45fe393 -r 7d1267aa2f55 src/ldt/ldt/ldt_utils/forms.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 diff -r 8d62f45fe393 -r 7d1267aa2f55 src/ldt/ldt/ldt_utils/models.py --- 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() diff -r 8d62f45fe393 -r 7d1267aa2f55 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 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 @@