summaryrefslogtreecommitdiff
path: root/coip/apps/membership/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'coip/apps/membership/models.py')
-rw-r--r--coip/apps/membership/models.py27
1 files changed, 19 insertions, 8 deletions
diff --git a/coip/apps/membership/models.py b/coip/apps/membership/models.py
index 935a253..9ff6a89 100644
--- a/coip/apps/membership/models.py
+++ b/coip/apps/membership/models.py
@@ -13,15 +13,13 @@ class Membership(models.Model):
'''
Membership in a namespace/group
'''
- user = models.ForeignKey(User,unique=True,blank=True,related_name='user')
- inviter = models.ForeignKey(User,unique=True,blank=True,related_name='inviter')
+ user = models.ForeignKey(User,blank=True,null=True,related_name='user')
name = models.ForeignKey(Name,related_name='memberships')
- email = models.EmailField(blank=True,null=True)
- nonce = models.CharField(max_length=255,blank=True,null=True)
enabled = models.BooleanField()
+ hidden = models.BooleanField()
timecreated = models.DateTimeField(auto_now_add=True)
lastupdated = models.DateTimeField(auto_now=True)
- expires = models.DateTimeField(blank=True)
+ expires = models.DateTimeField(blank=True,null=True)
def __unicode__(self):
return "%s in %s" % (self.user,self.name)
@@ -34,8 +32,21 @@ class Membership(models.Model):
return "active"
else:
return "inactive";
+
+def add_member(name,user):
+ (m,created) = Membership.objects.get_or_create(user=user,name=name)
+ if created or not m.enabled:
+ m.enabled = True
+ m.save()
+
+def disable_member(name,user):
+ m = Membership.objects.get(name=name,user=user)
+ if m:
+ m.enabled = False
+ m.save()
- def send_email(self):
- pprint("sent email to "+self.to)
- return
+def remove_member(name,user):
+ m = Membership.objects.get(name=name,user=user)
+ if m:
+ m.delete()