summaryrefslogtreecommitdiffstats
path: root/views.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-19 02:56:10 +0100
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2014-11-19 02:57:43 +0100
commit411c19c7f952a834399232d17c4fe546cf0eaa41 (patch)
tree04e14a3c2c46ee00143247cde3a85fd03d5d8e8e /views.py
parent900985df8179810bfa4efbf79bef6075e04b4d21 (diff)
downloadpadlite-teams-411c19c7f952a834399232d17c4fe546cf0eaa41.tar.gz
padlite-teams-411c19c7f952a834399232d17c4fe546cf0eaa41.tar.bz2
padlite-teams-411c19c7f952a834399232d17c4fe546cf0eaa41.zip
forms: add CreatePad
Diffstat (limited to 'views.py')
-rw-r--r--views.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/views.py b/views.py
index 2027785..495c0a3 100644
--- a/views.py
+++ b/views.py
@@ -2,8 +2,8 @@ from app import app
from auth import auth
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, DeleteForm, ChangeGroup
+from models import Group, Member, Pad
+from forms import CreateGroup, DeleteForm, ChangeGroup, CreatePad
from utils import templated
from pagination import Pagination
from filters import *
@@ -102,6 +102,25 @@ def group_join(group_name, member_id, accept):
return redirect(url_for('group', group_name=group_name))
+@app.route('/<group_name>/_create_pad/', methods=['GET', 'POST'])
+@templated('pad_change.html')
+@auth.login_required
+def pad_create(group_name):
+ group = get_group_or_404(Group.name == group_name, Member.admin == True)
+ form = CreatePad(request.form)
+ if form.validate_on_submit():
+ pad = Pad()
+ form.populate_obj(pad)
+ pad.group = group
+ pad.save()
+ return redirect(url_for('group', group_name = group_name))
+
+ return {'group': group,
+ 'change_form': form,
+ 'breadcrumbs': [{'href': url_for('group', group_name=group.name), 'text': group},
+ {'text': 'Create pad'}]}
+
+
@app.route('/<group_name>/')
@templated('group.html')
@auth.login_required