summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-19 02:28:37 +0100
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-19 02:28:37 +0100
commitf0f480769ce7e9cd0f94be22f3cb0ed2a40dffec (patch)
tree978e02a590023c24264bd32a7963c0414adb95d0
parent5aa12acb4a15cd4199589ccb01905657557cb922 (diff)
downloadpadlite-teams-f0f480769ce7e9cd0f94be22f3cb0ed2a40dffec.tar.gz
padlite-teams-f0f480769ce7e9cd0f94be22f3cb0ed2a40dffec.tar.bz2
padlite-teams-f0f480769ce7e9cd0f94be22f3cb0ed2a40dffec.zip
views: add group_join for accepting pending memberships
-rw-r--r--templates/group.html7
-rw-r--r--views.py13
2 files changed, 19 insertions, 1 deletions
diff --git a/templates/group.html b/templates/group.html
index 16f62ed..9c53c90 100644
--- a/templates/group.html
+++ b/templates/group.html
@@ -41,12 +41,17 @@
<table class="table table-hover">
<tr>
<th class="col-sm-3">username</th>
- <th class="col-sm-9 text-center">mail</th>
+ <th class="col-sm-6 text-center">mail</th>
+ <th class="col-sm-3">&nbsp;</th>
</tr>
{% endif %}
<tr>
<td>{{member.user.username}}</td>
<td class="text-center">{{member.user.email}}</td>
+ <td class="text-right">
+ <a href="{{ url_for('group_join', group_name=group.name, member_id=member.id, accept='yes') }}" class="btn btn-xs btn-success">Accept</a>
+ <a href="{{ url_for('group_join', group_name=group.name, member_id=member.id, accept='no') }}" class="btn btn-xs btn-danger">Reject</a>
+ </td>
</tr>
{% if loop.last %}
</table>
diff --git a/views.py b/views.py
index 2fdd0f6..b9afd37 100644
--- a/views.py
+++ b/views.py
@@ -59,6 +59,19 @@ def group_change(group_name):
{'text': 'Edit group'}]}
+@app.route('/<group_name>/_join/<int:member_id>/<accept>/')
+@auth.login_required
+def group_join(group_name, member_id, accept):
+ group = get_group_or_404(Group.name == group_name, Member.admin == True)
+ member = get_object_or_404(Member, Member.id == member_id, Member.group == group)
+ if accept == 'yes':
+ member.active = True
+ member.save()
+ elif accept == 'no':
+ member.delete_instance()
+ return redirect(url_for('group', group_name=group_name))
+
+
@app.route('/<group_name>/')
@templated('group.html')
@auth.login_required