diff options
author | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-19 02:28:37 +0100 |
---|---|---|
committer | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-19 02:28:37 +0100 |
commit | f0f480769ce7e9cd0f94be22f3cb0ed2a40dffec (patch) | |
tree | 978e02a590023c24264bd32a7963c0414adb95d0 | |
parent | 5aa12acb4a15cd4199589ccb01905657557cb922 (diff) | |
download | padlite-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.html | 7 | ||||
-rw-r--r-- | views.py | 13 |
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"> </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> @@ -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 |