From 5aa12acb4a15cd4199589ccb01905657557cb922 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 18 Nov 2014 04:16:22 +0100 Subject: models: add active flag for membership Membership for a group should be requested and has to be approved by an admin of the group. --- models.py | 1 + templates/group.html | 25 ++++++++++++++++++++++++- views.py | 4 ++-- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/models.py b/models.py index c0b39c4..d2f1ae4 100644 --- a/models.py +++ b/models.py @@ -49,6 +49,7 @@ class Member(db.Model): user = ForeignKeyField(User, related_name='groups') manager = BooleanField(default=False) admin = BooleanField(default=False) + active = BooleanField(default=False) def __str__(self): return "%s member of %s" % (self.user.username, self.group.name) diff --git a/templates/group.html b/templates/group.html index c6a83d1..16f62ed 100644 --- a/templates/group.html +++ b/templates/group.html @@ -24,13 +24,36 @@ {% if admin %} + {% for member in members|rejectattr("active") %} + {% if loop.first %} +
+
+

Pending members

+
+ + + + + + + {% endif %} + + + + + {% if loop.last %} +
usernamemail
{{member.user.username}}{{member.user.email}}
+
+ {% endif %} + {% endfor %} +

diff --git a/views.py b/views.py index 3b3d2d0..2fdd0f6 100644 --- a/views.py +++ b/views.py @@ -20,9 +20,9 @@ def index(): if form.validate_on_submit(): group = Group.create(name=form.name.data, public=form.public.data) - Member.create(user=g.user, group=group, admin=True) + Member.create(user=g.user, group=group, admin=True, active=True) form = CreateGroup() - groups = [member.group for member in g.user.groups] + groups = [member.group for member in g.user.groups if member.active] return {'groups': groups, 'create_form': form} -- cgit v1.2.3-1-g7c22