Merge remote-tracking branch 'refs/remotes/spaetz/WIP/user_tag_gallery'
This commit is contained in:
commit
60a7eb9ca5
@ -39,11 +39,12 @@
|
||||
'mediagoblin.user_pages.user_home',
|
||||
user=user.username) -%}
|
||||
<a href="{{ user_url }}">{{ username }}</a>'s media
|
||||
{%- endtrans %}
|
||||
{%- endtrans %}{% if tag %}{% trans %} with tag '{{tag}}'{% endtrans %}
|
||||
{%- endif %}
|
||||
</h1>
|
||||
|
||||
{{ object_gallery(request, media_entries, pagination) }}
|
||||
|
||||
|
||||
{% set feed_url = request.urlgen('mediagoblin.user_pages.atom_feed',
|
||||
user=user.username) %}
|
||||
{% include "mediagoblin/utils/feed_link.html" %}
|
||||
|
@ -40,6 +40,11 @@ add_route('mediagoblin.user_pages.media_home.view_comment',
|
||||
'/u/<string:user>/m/<string:media>/c/<int:comment>/',
|
||||
'mediagoblin.user_pages.views:media_home')
|
||||
|
||||
# User's tags gallery
|
||||
add_route('mediagoblin.user_pages.user_gallery',
|
||||
'/u/<string:user>/tag/<string:tag>/',
|
||||
'mediagoblin.user_pages.views:user_gallery')
|
||||
|
||||
add_route('mediagoblin.user_pages.atom_feed',
|
||||
'/u/<string:user>/atom/',
|
||||
'mediagoblin.user_pages.views:atom_feed')
|
||||
|
@ -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})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user