diff options
author | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2013-09-04 16:02:55 +0000 |
---|---|---|
committer | pad <pad@vm-pad-b.spline.inf.fu-berlin.de> | 2013-09-04 16:02:55 +0000 |
commit | a6624cda1ad4d31d98a18a258ed65899119aff56 (patch) | |
tree | f4d9fe5b63c8df431d1544968dfd0b2fd89cc534 /views.py | |
parent | d29ad289dc6b4873c1ab06841509aeb21fa28958 (diff) | |
download | padlite-teams-a6624cda1ad4d31d98a18a258ed65899119aff56.tar.gz padlite-teams-a6624cda1ad4d31d98a18a258ed65899119aff56.tar.bz2 padlite-teams-a6624cda1ad4d31d98a18a258ed65899119aff56.zip |
views: add group detail page
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} |