From e0244e84126afee652c875e42b1627c697c1d073 Mon Sep 17 00:00:00 2001 From: Leif Johansson Date: Thu, 5 May 2011 11:21:19 +0200 Subject: doh --- src/django_co_acls/models.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/django_co_acls/models.py b/src/django_co_acls/models.py index f4d1c63..64f9a47 100644 --- a/src/django_co_acls/models.py +++ b/src/django_co_acls/models.py @@ -21,7 +21,12 @@ class AccessControlEntry(models.Model): create_time = DateTimeField(auto_now_add=True) def __unicode__(self): - return "%s can %s on %s" % (self.group.__unicode__(),self.permission,self.content_object.__unicode__()) + if self.user: + return "%s is allowed to %s %s" % (self.user.username,self.permission,self.content_object) + elif self.group: + return "%s is allowed to %s %s" % (self.group.name,self.permission,self.content_object) + else: + return "%s is allowed to %s %s" % ('anyone',self.permission,self.content_object) class Meta: unique_together = (('group','permission'),('user','permission')) @@ -34,7 +39,7 @@ def allow(object,ug,permission): elif isinstance(ug,str): if ug == 'anyone': type = ContentType.objects.get_for_model(object) - ace,created = AccessControlEntry.objects.get_or_create(object_id=object.id,content_type=type,user=None,group=None) + ace,created = AccessControlEntry.objects.get_or_create(object_id=object.id,content_type=type,permission=permission,user=None,group=None) return ace else: raise Exception,"Don't know how to allow %s to do stuff" % repr(ug) @@ -82,7 +87,7 @@ def deny_group(object,group,permission): ace.delete() return None -def deny_all(object): +def clear_acl(object): type = ContentType.objects.get_for_model(object) for ace in AccessControlEntry.objects.filter(object_id=object.id,content_type=type): ace.delete() -- cgit v1.1