diff --git a/mediagoblin/templates/mediagoblin/user_pages/user.html b/mediagoblin/templates/mediagoblin/user_pages/user.html
index 4fa84430..85f05e08 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/user.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/user.html
@@ -19,8 +19,21 @@
{% block mediagoblin_content -%}
{% if user %}
User page for '{{ user.username }}'
- {{ user }}
+
+ {#- Should we outsource such a media 'gallery' view to it's own file?
+ It could be useful for the home page and other views too -#}
+
+ {%- for entry in media_entries %}
+ -
+
+
+
+ {%- endfor %}
+
{% else %}
+ {# This *should* not occur as the view makes sure we pass in a user. #}
Sorry, no such user found.
{% endif %}
{% endblock %}
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py
index cc613c40..2c9792fa 100644
--- a/mediagoblin/user_pages/views.py
+++ b/mediagoblin/user_pages/views.py
@@ -14,17 +14,22 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from webob import Response
+from webob import Response, exc
from mongokit import ObjectId
import wtforms
def user_home(request):
"""'Homepage' of a User()"""
- user = request.db.User.find_one(
- {'username': request.matchdict['user']})
+ user = request.db.User.find_one({
+ 'username': request.matchdict['user'],
+ 'status': 'active'})
+ if not user:
+ return exc.HTTPNotFound()
- medias = request.db.MediaEntry.find()
+ medias = request.db.MediaEntry.find({
+ 'uploader': user,
+ 'state': 'processed'})
template = request.template_env.get_template(
'mediagoblin/user_pages/user.html')
@@ -32,16 +37,18 @@ def user_home(request):
template.render(
{'request': request,
'user': user,
- 'medias': medias}))
+ 'media_entries': medias}))
def media_home(request):
"""'Homepage' of a MediaEntry()"""
- media = request.db.MediaEntry.find_one(
- ObjectId(request.matchdict['m_id']))
+ media = request.db.MediaEntry.find_one({
+ '_id': ObjectId(request.matchdict['m_id']),
+ 'state': 'processed'})
- #check that media uploader and user correspond
- if media['uploader'].get('username') != request.matchdict['user']:
+ # Check that media uploader and user correspond.
+ if not media or \
+ media['uploader'].get('username') != request.matchdict['user']:
return exc.HTTPNotFound()
template = request.template_env.get_template(