diff options
Diffstat (limited to 'views.py')
-rw-r--r-- | views.py | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -1,10 +1,15 @@ from app import app from auth import auth from flask import g, request +from flask_peewee.utils import get_object_or_404 from models import Group, Member -from forms import CreateGroup from utils import templated +def get_group_or_404(*query): + group = get_object_or_404(Group.select().join(Member), + Member.user == g.user, *query) + return group + @app.route('/', methods=['GET', 'POST']) @templated('index.html') @auth.login_required @@ -16,3 +21,10 @@ def index(): form = CreateGroup() groups = [member.group for member in g.user.groups] return {'groups': groups, 'create_form': form} + +@app.route('/<group_name>/') +@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} |