diff options
-rw-r--r-- | coip/apps/membership/models.py | 24 |
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): |