aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Bobrov <breton@cynicmansion.ru>2014-08-16 17:41:37 +0300
committerBoris Bobrov <breton@cynicmansion.ru>2016-02-01 00:29:44 +0100
commit906a00b6679fc7940262dde48467b102894fa9fe (patch)
treecef555b4abcd61455767bcff2ba33b6b7d63bf30
parentbe9262b4d4317f244ae4602dad0aaed5fe4ee62f (diff)
downloadmediagoblin-906a00b6679fc7940262dde48467b102894fa9fe.tar.lz
mediagoblin-906a00b6679fc7940262dde48467b102894fa9fe.tar.xz
mediagoblin-906a00b6679fc7940262dde48467b102894fa9fe.zip
added filtering by entry state in processing panel
-rw-r--r--mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html8
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/processing_panel.html12
-rw-r--r--mediagoblin/user_pages/routing.py5
-rw-r--r--mediagoblin/user_pages/views.py9
4 files changed, 29 insertions, 5 deletions
diff --git a/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html b/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html
index d635afce..1d5e724d 100644
--- a/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html
+++ b/mediagoblin/plugins/processing_info/templates/mediagoblin/processing_info/header_left.html
@@ -18,15 +18,15 @@
{#This injects some information about entries in processing #}
{% if request.user and request.user.has_privilege('active') %}
{% if num_queued is defined and num_queued != 0 %}
-{% set panel_url = request.urlgen('mediagoblin.user_pages.processing_panel',
- user=request.user.username) %}
<span class="num_queued status_icon">
- <a href="{{ panel_url }}">&#9203; {{ num_queued }}</a>
+ <a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
+ user=request.user.username, state="processing") }}">&#9203; {{ num_queued }}</a>
</span>
{% endif %}
{% if num_failed is defined and num_failed != 0 %}
<span class="num_failed status_icon">
- <a href="{{ panel_url }}">&#9785; {{ num_failed }}</a>
+ <a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
+ user=request.user.username, state="failed") }}">&#9785; {{ num_failed }}</a>
</span>
{% endif %}
{% endif %}
diff --git a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html
index d803e51c..88eef827 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html
@@ -28,6 +28,18 @@
<p>
{% trans %}You can track the state of media being processed for your gallery here.{% endtrans %}
</p>
+
+<p>
+Show:
+<a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
+ user=request.user.username) }}">All</a>,
+<a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
+ user=request.user.username, state="processing") }}">In processing</a>,
+<a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
+ user=request.user.username, state="failed") }}">Failed</a>,
+<a href="{{ request.urlgen('mediagoblin.user_pages.processing_panel',
+ user=request.user.username, state="processed") }}">Succesful</a>
+</p>
{% if entries.count() %}
<table class="media_panel processing">
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 0de63440..97f0bac1 100644
--- a/mediagoblin/user_pages/views.py
+++ b/mediagoblin/user_pages/views.py
@@ -653,11 +653,18 @@ def processing_panel(request):
return redirect(
request, 'mediagoblin.user_pages.user_home',
user=user.username)
-
# Get media entries which are in-processing
entries = (MediaEntry.query.filter_by(uploader=user.id)
.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
+
# Render to response
return render_to_response(
request,