--- 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'),
+ )