diff options
author | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2013-09-04 16:12:41 +0000 |
---|---|---|
committer | pad <pad@vm-pad-b.spline.inf.fu-berlin.de> | 2013-09-04 16:12:41 +0000 |
commit | b0b3c4b9c60f414b5ab0ea916791edb07e6fffc4 (patch) | |
tree | 9493ea4e06c5ce15b587baf765867960b71515af /views.py | |
parent | a6624cda1ad4d31d98a18a258ed65899119aff56 (diff) | |
download | padlite-teams-b0b3c4b9c60f414b5ab0ea916791edb07e6fffc4.tar.gz padlite-teams-b0b3c4b9c60f414b5ab0ea916791edb07e6fffc4.tar.bz2 padlite-teams-b0b3c4b9c60f414b5ab0ea916791edb07e6fffc4.zip |
add ability to delete groups
Diffstat (limited to 'views.py')
-rw-r--r-- | views.py | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -1,8 +1,9 @@ from app import app from auth import auth -from flask import g, request +from flask import g, request, redirect, render_template, url_for from flask_peewee.utils import get_object_or_404 from models import Group, Member +from forms import CreateGroup, DeleteGroup from utils import templated def get_group_or_404(*query): @@ -22,9 +23,19 @@ def index(): groups = [member.group for member in g.user.groups] return {'groups': groups, 'create_form': form} -@app.route('/<group_name>/') +@app.route('/<group_name>/', methods=['GET', 'POST']) @templated('group.html') @auth.login_required def group(group_name): group = get_group_or_404(Group.name == group_name) - return {'group': group, 'members': group.members} + form = DeleteGroup(request.form) + if request.method == 'POST' and form.validate(): + if form.sure.data == 'yes': + group.delete_instance(recursive=True) + return redirect(url_for('index')) + else: + form.sure.data = 'yes' + return render_template('group_delete.html', group=group, delete_form=form) + else: + form.id.data = group.id + return {'group': group, 'members': group.members, 'delete_form': form} |