diff options
author | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-19 02:38:09 +0100 |
---|---|---|
committer | Alexander Sulfrian <alex@spline.inf.fu-berlin.de> | 2014-11-19 02:48:45 +0100 |
commit | dacfc5fe13dc6b46fa90e5ef9fb07509afd5d777 (patch) | |
tree | 105012c6c041d9bc98045846dd82c6ab262875cd /views.py | |
parent | 2d04a1bd8efe3c440ecf66a22b3ae138ed8eaabe (diff) | |
download | padlite-teams-dacfc5fe13dc6b46fa90e5ef9fb07509afd5d777.tar.gz padlite-teams-dacfc5fe13dc6b46fa90e5ef9fb07509afd5d777.tar.bz2 padlite-teams-dacfc5fe13dc6b46fa90e5ef9fb07509afd5d777.zip |
templates/all: add paginated list of all browsable groups
Diffstat (limited to 'views.py')
-rw-r--r-- | views.py | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -5,6 +5,7 @@ from flask_peewee.utils import get_object_or_404 from models import Group, Member from forms import CreateGroup, DeleteForm, ChangeGroup from utils import templated +from pagination import Pagination from filters import * def get_group_or_404(*query): @@ -27,6 +28,19 @@ def index(): return {'groups': groups, 'create_form': form} +@app.route('/_all/', defaults={'page': 1}) +@app.route('/_all/_page/<int:page>') +@templated('all.html') +def all(page): + user_groups = Group.select().join(Member).where(Member.user == g.user) + public_groups = Group.select().where(~(Group.id << user_groups)).where(Group.browsable == True) + count = public_groups.count() + return {'groups': public_groups.paginate(page, 10), + 'count': count, + 'pagination': Pagination(page, 10, count), + 'breadcrumbs': [{'text': 'Public groups'}]} + + @app.route('/<group_name>/_delete/', methods=['GET', 'POST']) @templated('group_delete.html') @auth.login_required |