# HG changeset patch # User verrierj # Date 1321526903 -3600 # Node ID bc1dd5fea0b6e5236dc5e733d3933019fd71bf26 # Parent 3cff86180fbe310271e388d1a4c2ce0e49e78056 Added permissions to all objects in ldt_utils diff -r 3cff86180fbe -r bc1dd5fea0b6 src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Thu Nov 17 11:09:49 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/models.py Thu Nov 17 11:48:23 2011 +0100 @@ -1,10 +1,10 @@ from django.conf import settings -from django.contrib.auth.models import User, Group +from django.contrib.auth.models import User from django.db import models from django.utils.translation import ugettext_lazy as _ #from ldt.core.models import Document, Owner from ldt.core.models import Document -from guardian.shortcuts import assign, remove_perm +from guardian.shortcuts import assign import ldt.indexation from ldt.security.models import SafeModel from ldt.security.manager import SafeManager @@ -27,6 +27,11 @@ def __unicode__(self): return unicode(self.id) + " - " + self.handle + ", " + self.email + ", " + self.firstname + " " + self.lastname + class Meta: + permissions = ( + ('view_author', 'Can view author'), + ) + class Media(SafeModel): external_id = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('media.external_id')) external_permalink = models.URLField(max_length=1024, verify_exists=False, null=True, blank=True, verbose_name=_('media.external_permalink')) @@ -43,6 +48,11 @@ src = models.CharField(max_length=1024, unique=True, verbose_name=_('media.src')) mimetype_field = models.CharField(max_length=512, null=True, blank=True, verbose_name=_('media.mimetype')) + class Meta: + permissions = ( + ('view_media', 'Can view media'), + ) + def mimetype(): #@NoSelf def fget(self): if self.mimetype_field : @@ -93,7 +103,11 @@ return "|".join(strings) -class ContentManager(models.Manager): +class ContentManager(SafeManager): + + def __init__(self): + super(ContentManager, self).__init__(check_perm=False) + def get_by_natural_key(self, iri_id): return self.get(iri_id=iri_id) @@ -115,7 +129,7 @@ class Meta: ordering = ["title"] permissions = ( - ('view_content', 'Can view Content'), + ('view_content', 'Can view content'), ) def natural_key(self): @@ -333,18 +347,6 @@ else: return None - def publish(self): - self.state = 2 - self.save() - public_group = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) - assign('view_project', public_group, self) - - def unpublish(self): - self.state = 1 - self.save() - public_group = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) - remove_perm('view_project', public_group, self) - def stream_mode(): #@NoSelf def fget(self): modes = [] @@ -429,5 +431,8 @@ class Meta: unique_together = (('project_id', 'iri_id', 'ensemble_id', 'cutting_id', 'element_id'),) + permissions = ( + ('view_segment', 'Can view segment'), + )