From 222b9ab428125b1c26544face42a97f91bffce32 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 20 Nov 2016 12:05:04 +0100 Subject: [PATCH] add gets_newsletter field to members --- jdav_web/mailer/models.py | 2 ++ jdav_web/members/admin.py | 7 ++++--- jdav_web/members/models.py | 8 ++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/jdav_web/mailer/models.py b/jdav_web/mailer/models.py index edabb55..49e40a3 100644 --- a/jdav_web/mailer/models.py +++ b/jdav_web/mailer/models.py @@ -26,6 +26,8 @@ class Message(models.Model): for group in self.to_groups.all(): group_members = group.member_set.all() for member in group_members: + if not member.gets_newsletter: + continue members.add(member) data = [ (self.subject, self.content, self.from_addr, [member.email]) diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index 0a35d1c..bf7291c 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -18,9 +18,10 @@ from .models import Member, Group, MemberList, MemberOnList # Register your models here. class MemberAdmin(admin.ModelAdmin): - fields = ['prename', 'lastname', 'email', 'birth_date', 'group'] - list_display = ('name', 'birth_date') - list_filter = ('group',) + fields = ['prename', 'lastname', 'email', 'birth_date', 'group', + 'gets_newsletter'] + list_display = ('name', 'birth_date', 'gets_newsletter') + list_filter = ('group', 'gets_newsletter') class GroupAdmin(admin.ModelAdmin): diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index 0dc545a..d2fcf42 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -31,6 +31,8 @@ class Member(models.Model): email = models.EmailField(max_length=100, default="") birth_date = models.DateField(_('birth date')) # to determine the age group = models.ManyToManyField(Group) + gets_newsletter = models.BooleanField(_('receives newsletter'), + default=True) def __str__(self): """String representation""" @@ -45,9 +47,11 @@ class Member(models.Model): verbose_name = _('member') verbose_name_plural = _('members') + class MemberList(models.Model): """Lets the user create a list of members in pdf format. """ - name = models.CharField(verbose_name='List Name', default='', max_length=50) + name = models.CharField(verbose_name='List Name', default='', + max_length=50) date = models.DateField(default=datetime.today) comment = models.TextField(_('Comments'), default='') @@ -61,5 +65,5 @@ class MemberOnList(models.Model): Connects members to a list of members. """ member = models.ForeignKey(Member) - memberlist = models.ForeignKey(MemberList) + memberlist = models.ForeignKey(MemberList) comments = models.TextField(_('Comment'), default='')