summaryrefslogtreecommitdiffstats
path: root/views.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2013-09-04 16:12:41 +0000
committerpad <pad@vm-pad-b.spline.inf.fu-berlin.de>2013-09-04 16:12:41 +0000
commitb0b3c4b9c60f414b5ab0ea916791edb07e6fffc4 (patch)
tree9493ea4e06c5ce15b587baf765867960b71515af /views.py
parenta6624cda1ad4d31d98a18a258ed65899119aff56 (diff)
downloadpadlite-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.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/views.py b/views.py
index 94a6048..9cb1bd7 100644
--- a/views.py
+++ b/views.py
@@ -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}