diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-02-21 15:55:26 -0600 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-02-21 15:55:26 -0600 |
commit | 60a7eb9ca5f614a31f17158b791e1a6b7d7bf352 (patch) | |
tree | daf7ecc6f74f4d6921d4f2bb4cf9ae8bf1fa6162 /mediagoblin/user_pages/views.py | |
parent | 9b2cd962af78ce8fbe2bce88d7b9d3a9d01e4aa9 (diff) | |
parent | f2c0bf3e34f1b56908444fc11504bb0114d0e0a3 (diff) | |
download | mediagoblin-60a7eb9ca5f614a31f17158b791e1a6b7d7bf352.tar.lz mediagoblin-60a7eb9ca5f614a31f17158b791e1a6b7d7bf352.tar.xz mediagoblin-60a7eb9ca5f614a31f17158b791e1a6b7d7bf352.zip |
Merge remote-tracking branch 'refs/remotes/spaetz/WIP/user_tag_gallery'
Diffstat (limited to 'mediagoblin/user_pages/views.py')
-rw-r--r-- | mediagoblin/user_pages/views.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 0225b6d7..4056ba97 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -18,8 +18,8 @@ import logging import datetime from mediagoblin import messages, mg_globals -from mediagoblin.db.models import (MediaEntry, Collection, CollectionItem, - User) +from mediagoblin.db.models import (MediaEntry, MediaTag, Collection, + CollectionItem, User) from mediagoblin.tools.response import render_to_response, render_404, redirect from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.pagination import Pagination @@ -81,10 +81,17 @@ def user_home(request, page): @uses_pagination def user_gallery(request, page, url_user=None): """'Gallery' of a User()""" + tag = request.matchdict.get('tag', None) cursor = MediaEntry.query.filter_by( uploader=url_user.id, state=u'processed').order_by(MediaEntry.created.desc()) + # Filter potentially by tag too: + if tag: + cursor = cursor.filter( + MediaEntry.tags_helper.any( + MediaTag.name == request.matchdict['tag'])) + # Paginate gallery pagination = Pagination(page, cursor) media_entries = pagination() @@ -97,7 +104,7 @@ def user_gallery(request, page, url_user=None): return render_to_response( request, 'mediagoblin/user_pages/gallery.html', - {'user': url_user, + {'user': url_user, 'tag': tag, 'media_entries': media_entries, 'pagination': pagination}) |