aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/user_pages
diff options
context:
space:
mode:
authorBoris Bobrov <breton@cynicmansion.ru>2016-02-05 04:33:05 +0300
committerBoris Bobrov <breton@cynicmansion.ru>2016-02-05 04:33:05 +0300
commit3b6b009077955c94e76cd2248e16a32dde1d90cf (patch)
treefd4db259e709217fbc557dc82dd7948fc3ba4727 /mediagoblin/user_pages
parentf13225fa6dc2b4537300e5bed4b587619de9cf26 (diff)
parent41076dc96bbf273c5a04978e2046ea8738b1eee0 (diff)
downloadmediagoblin-3b6b009077955c94e76cd2248e16a32dde1d90cf.tar.lz
mediagoblin-3b6b009077955c94e76cd2248e16a32dde1d90cf.tar.xz
mediagoblin-3b6b009077955c94e76cd2248e16a32dde1d90cf.zip
Merge branch 'media_panel'
Diffstat (limited to 'mediagoblin/user_pages')
-rw-r--r--mediagoblin/user_pages/routing.py5
-rw-r--r--mediagoblin/user_pages/views.py36
2 files changed, 22 insertions, 19 deletions
diff --git a/mediagoblin/user_pages/routing.py b/mediagoblin/user_pages/routing.py
index 1a1d4139..68cb0a3b 100644
--- a/mediagoblin/user_pages/routing.py
+++ b/mediagoblin/user_pages/routing.py
@@ -97,6 +97,11 @@ add_route('mediagoblin.user_pages.processing_panel',
'/u/<string:user>/panel/',
'mediagoblin.user_pages.views:processing_panel')
+add_route('mediagoblin.user_pages.processing_panel',
+ '/u/<string:user>/panel/<any(processed, processing, failed):state>/',
+ 'mediagoblin.user_pages.views:processing_panel')
+
+
# Stray edit routes
add_route('mediagoblin.edit.edit_media',
'/u/<string:user>/m/<int:media_id>/edit/',
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py
index 88e077d4..547048d6 100644
--- a/mediagoblin/user_pages/views.py
+++ b/mediagoblin/user_pages/views.py
@@ -637,8 +637,10 @@ def collection_atom_feed(request):
return feed.get_response()
+@active_user_from_url
+@uses_pagination
@require_active_login
-def processing_panel(request):
+def processing_panel(request, page, url_user):
"""
Show to the user what media is still in conversion/processing...
and what failed, and why!
@@ -653,33 +655,29 @@ def processing_panel(request):
return redirect(
request, 'mediagoblin.user_pages.user_home',
user=user.username)
-
# Get media entries which are in-processing
- processing_entries = MediaEntry.query.\
- filter_by(actor = user.id,
- state = u'processing').\
- order_by(MediaEntry.created.desc())
+ entries = (MediaEntry.query.filter_by(actor=user.id)
+ .order_by(MediaEntry.created.desc()))
- # Get media entries which have failed to process
- failed_entries = MediaEntry.query.\
- filter_by(actor = user.id,
- state = u'failed').\
- order_by(MediaEntry.created.desc())
+ try:
+ state = request.matchdict['state']
+ # no exception was thrown, filter entries by state
+ entries = entries.filter_by(state=state)
+ except KeyError:
+ # show all entries
+ pass
- processed_entries = MediaEntry.query.\
- filter_by(actor = user.id,
- state = u'processed').\
- order_by(MediaEntry.created.desc()).\
- limit(10)
+ pagination = Pagination(page, entries)
+ pagination.per_page = 30
+ entries_on_a_page = pagination()
# Render to response
return render_to_response(
request,
'mediagoblin/user_pages/processing_panel.html',
{'user': user,
- 'processing_entries': processing_entries,
- 'failed_entries': failed_entries,
- 'processed_entries': processed_entries})
+ 'entries': entries_on_a_page,
+ 'pagination': pagination})
@allow_reporting
@get_user_media_entry