diff options
author | Leif Johansson <leifj@sunet.se> | 2011-05-05 11:21:19 +0200 |
---|---|---|
committer | Leif Johansson <leifj@sunet.se> | 2011-05-05 11:21:19 +0200 |
commit | e0244e84126afee652c875e42b1627c697c1d073 (patch) | |
tree | 4d6bba596487b843bcc1cd67e4c0d98ef51dbbb1 | |
parent | 93ba5584ac26f2c5a09cc2b712a332dd52b51656 (diff) |
doh
-rw-r--r-- | src/django_co_acls/models.py | 11 |
1 files 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() |