diff options
Diffstat (limited to 'views.py')
-rw-r--r-- | views.py | 23 |
1 files changed, 21 insertions, 2 deletions
@@ -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 |