diff options
Diffstat (limited to 'mediagoblin/user_pages/views.py')
-rw-r--r-- | mediagoblin/user_pages/views.py | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index e6ba6b79..2090d6fd 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -18,10 +18,11 @@ from webob import exc from mediagoblin import messages, mg_globals from mediagoblin.db.util import DESCENDING, ObjectId -from mediagoblin.util import ( - Pagination, render_to_response, redirect, cleaned_markdown_conversion, - render_404, delete_media_files) -from mediagoblin.util import pass_to_ugettext as _ +from mediagoblin.tools.text import cleaned_markdown_conversion +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 +from mediagoblin.tools.files import delete_media_files from mediagoblin.user_pages import forms as user_forms from mediagoblin.decorators import (uses_pagination, get_user_media_entry, @@ -125,27 +126,34 @@ def media_home(request, media, page, **kwargs): 'app_config': mg_globals.app_config}) +@get_user_media_entry @require_active_login -def media_post_comment(request): +def media_post_comment(request, media): """ recieves POST from a MediaEntry() comment form, saves the comment. """ + assert request.method == 'POST' + comment = request.db.MediaComment() - comment['media_entry'] = ObjectId(request.matchdict['media']) + comment['media_entry'] = media['_id'] comment['author'] = request.user['_id'] comment['content'] = unicode(request.POST['comment_content']) - comment['content_html'] = cleaned_markdown_conversion(comment['content']) - comment.save() + if not comment['content'].strip(): + messages.add_message( + request, + messages.ERROR, + _("Empty comments are not allowed.")) + else: + comment.save() - messages.add_message( - request, messages.SUCCESS, - 'Comment posted!') + messages.add_message( + request, messages.SUCCESS, + _('Comment posted!')) - return redirect(request, 'mediagoblin.user_pages.media_home', - media=request.matchdict['media'], - user=request.matchdict['user']) + return exc.HTTPFound( + location=media.url_for_self(request.urlgen)) @get_user_media_entry |