diff options
-rw-r--r-- | models.py | 1 | ||||
-rw-r--r-- | templates/group.html | 25 | ||||
-rw-r--r-- | views.py | 4 |
3 files changed, 27 insertions, 3 deletions
@@ -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 @@ </div> <ul class="list-group"> - {% for member in members %} + {% for member in members|selectattr("active") %} <li class="list-group-item">{{member.user}}{% if member.admin %} (is admin){% endif %}</li> {% endfor %} </ul> </div> {% if admin %} + {% for member in members|rejectattr("active") %} + {% if loop.first %} + <div class="panel panel-default"> + <div class="panel-heading"> + <h3 class="panel-title">Pending members</h3> + </div> + + <table class="table table-hover"> + <tr> + <th class="col-sm-3">username</th> + <th class="col-sm-9 text-center">mail</th> + </tr> + {% endif %} + <tr> + <td>{{member.user.username}}</td> + <td class="text-center">{{member.user.email}}</td> + </tr> + {% if loop.last %} + </table> + </div> + {% endif %} + {% endfor %} + <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> @@ -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} |