summaryrefslogtreecommitdiff
path: root/coip/apps/membership
diff options
context:
space:
mode:
Diffstat (limited to 'coip/apps/membership')
-rw-r--r--coip/apps/membership/models.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/coip/apps/membership/models.py b/coip/apps/membership/models.py
index 324c736..b289513 100644
--- a/coip/apps/membership/models.py
+++ b/coip/apps/membership/models.py
@@ -7,10 +7,11 @@ from django.db import models
from django.contrib.auth.models import User
from coip.apps.name.models import Name
import datetime
-from pprint import pformat
import logging
from coip.apps.entity.models import Entity
import tagging
+from django.core.mail import send_mail
+from coip.settings import NOREPLY
class Membership(models.Model):
'''
@@ -43,6 +44,23 @@ class Membership(models.Model):
def is_entity(self):
return self.entity != None
+ def send_notification(self,what):
+ if not self.user or not self.user.email:
+ return
+
+ send_mail('You have been %s \'%s\'' % (what,self.name.short),
+ '''
+You have been %s \'%s\'.
+
+To view information about \'%s\' open this link in your browser:
+%s
+
+''' % (what,self.name.shortname(),self.name.shortname(),self.name.url()),
+ NOREPLY,
+ [self.user.email],
+ fail_silently=False)
+ return
+
def add_member(name,member_name,hidden=False):
if isinstance(member_name,User):
(m,created) = Membership.objects.get_or_create(user=member_name,name=name)
@@ -53,6 +71,8 @@ def add_member(name,member_name,hidden=False):
m.enabled = True
m.hidden = hidden
m.save()
+
+ return m.send_notification("added to")
def disable_member(name,member_name):
if isinstance(member_name,User):
@@ -62,6 +82,7 @@ def disable_member(name,member_name):
if m:
m.enabled = False
m.save()
+ m.send_notification("temporarily removed from")
def remove_member(name,member_name):
if isinstance(member_name,User):
@@ -69,6 +90,7 @@ def remove_member(name,member_name):
else:
m = Membership.objects.get(name=name,entity=member_name)
if m:
+ m.send_notification("removed from")
m.delete()
def has_member(name,member_name):