diff options
Diffstat (limited to 'coip/apps/name/models.py')
-rw-r--r-- | coip/apps/name/models.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/coip/apps/name/models.py b/coip/apps/name/models.py index d7da547..519248b 100644 --- a/coip/apps/name/models.py +++ b/coip/apps/name/models.py @@ -34,11 +34,14 @@ class Name(models.Model): short = models.CharField(max_length=64,blank=True) creator = models.ForeignKey(User,blank=True, null=True) display = models.TextField(editable=False) + #icon = models.ImageField(blank=True, null=True) description = models.TextField(blank=True) format = models.SmallIntegerField(default=FMT_URN,choices=((FMT_URN,"URN"),(FMT_URL,"URL"))) timecreated = models.DateTimeField(auto_now_add=True) lastupdated = models.DateTimeField(auto_now=True) + nmembers = -1 + def mode(self): if not self.format: return FMT_URN @@ -203,6 +206,11 @@ class Name(models.Model): def permitted_children(self,user,perm): return filter(lambda s: s.has_permission(user,perm),self.children.all()) + def count_members(self): + if self.nmembers == -1: + self.nmembers = self.memberships.filter(hidden=False).count() + return self.nmembers + def set_display(sender,**kwargs): kwargs['instance'].display = kwargs['instance'].display_str() |