From b0b3c4b9c60f414b5ab0ea916791edb07e6fffc4 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Wed, 4 Sep 2013 16:12:41 +0000 Subject: add ability to delete groups --- views.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'views.py') 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('//') +@app.route('//', 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} -- cgit v1.2.3-1-g7c22