summaryrefslogtreecommitdiffstats
path: root/views.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2013-09-04 16:02:55 +0000
committerpad <pad@vm-pad-b.spline.inf.fu-berlin.de>2013-09-04 16:02:55 +0000
commita6624cda1ad4d31d98a18a258ed65899119aff56 (patch)
treef4d9fe5b63c8df431d1544968dfd0b2fd89cc534 /views.py
parentd29ad289dc6b4873c1ab06841509aeb21fa28958 (diff)
downloadpadlite-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.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/views.py b/views.py
index c6f4a8a..94a6048 100644
--- a/views.py
+++ b/views.py
@@ -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}