summaryrefslogtreecommitdiffstats
path: root/views.py
diff options
context:
space:
mode:
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}