diff options
Diffstat (limited to 'mediagoblin/user_pages')
-rw-r--r-- | mediagoblin/user_pages/routing.py | 4 | ||||
-rw-r--r-- | mediagoblin/user_pages/views.py | 33 |
2 files changed, 36 insertions, 1 deletions
diff --git a/mediagoblin/user_pages/routing.py b/mediagoblin/user_pages/routing.py index 8eb51c8d..1a1d4139 100644 --- a/mediagoblin/user_pages/routing.py +++ b/mediagoblin/user_pages/routing.py @@ -31,6 +31,10 @@ add_route('mediagoblin.user_pages.media_confirm_delete', '/u/<string:user>/m/<int:media_id>/confirm-delete/', 'mediagoblin.user_pages.views:media_confirm_delete') +add_route('mediagoblin.user_pages.activity_view', + '/<string:username>/activity/<string:id>/', + 'mediagoblin.user_pages.views:activity_view') + # Submission handling of new comments. TODO: only allow for POST methods add_route('mediagoblin.user_pages.media_post_comment', '/u/<string:user>/m/<int:media_id>/comment/add/', diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 822f359a..cc7f3684 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -22,7 +22,7 @@ import six from mediagoblin import messages, mg_globals from mediagoblin.db.models import (MediaEntry, MediaTag, Collection, - CollectionItem, User) + CollectionItem, User, Activity) from mediagoblin.tools.response import render_to_response, render_404, \ redirect, redirect_obj from mediagoblin.tools.text import cleaned_markdown_conversion @@ -695,3 +695,34 @@ def file_a_report(request, media, comment): request, 'mediagoblin/user_pages/report.html', context) + +@require_active_login +def activity_view(request): + """ /<username>/activity/<id> - Display activity + + This should display a HTML presentation of the activity + this is NOT an API endpoint. + """ + # Get the user object. + username = request.matchdict["username"] + user = User.query.filter_by(username=username).first() + + activity_id = request.matchdict["id"] + + if request.user is None: + return render_404(request) + + activity = Activity.query.filter_by( + id=activity_id, + author=user.id + ).first() + + if activity is None: + return render_404(request) + + return render_to_response( + request, + "mediagoblin/api/activity.html", + {"activity": activity} + ) + |