diff options
author | Jessica Tallon <tsyesika@tsyesika.se> | 2015-10-20 12:24:54 +0000 |
---|---|---|
committer | Jessica Tallon <tsyesika@tsyesika.se> | 2015-10-20 12:24:54 +0000 |
commit | 64a456a4e50b03e4fa2b33ceb208e88d2e02fce7 (patch) | |
tree | f60658eb937886dfd1cc349cab605c13a02942e5 /mediagoblin/user_pages/views.py | |
parent | fd703bb4d0665958d853b89f6069eefd8a8c8113 (diff) | |
download | mediagoblin-64a456a4e50b03e4fa2b33ceb208e88d2e02fce7.tar.lz mediagoblin-64a456a4e50b03e4fa2b33ceb208e88d2e02fce7.tar.xz mediagoblin-64a456a4e50b03e4fa2b33ceb208e88d2e02fce7.zip |
Comment changes for federation
This adds a new Comment link table that is used to link between some
object and then the comment object, which can be more or less any
object in Mediagoblin. The MediaComment has been renamed to
TextComment as that more aptly describes what it is. There is
migrations for these changes.
There is also the conslidation of the Report tables into a single
Report table, the same with the Notification objects. This is because
both of them split out MediaEntry and Comment versions into their own
polymorphic versions from a base, this is no longer a meaningful
distinction as comments can be anything.
Diffstat (limited to 'mediagoblin/user_pages/views.py')
-rw-r--r-- | mediagoblin/user_pages/views.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index f1c8a622..ba94ec16 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -21,8 +21,9 @@ import json import six from mediagoblin import messages, mg_globals -from mediagoblin.db.models import (MediaEntry, MediaTag, Collection, - CollectionItem, LocalUser, Activity) +from mediagoblin.db.models import (MediaEntry, MediaTag, Collection, Comment, + CollectionItem, LocalUser, Activity, \ + GenericModelReference) from mediagoblin.tools.response import render_to_response, render_404, \ redirect, redirect_obj from mediagoblin.tools.text import cleaned_markdown_conversion @@ -178,8 +179,7 @@ def media_post_comment(request, media): if not request.method == 'POST': raise MethodNotAllowed() - comment = request.db.MediaComment() - comment.media_entry = media.id + comment = request.db.TextComment() comment.actor = request.user.id comment.content = six.text_type(request.form['comment_content']) @@ -199,6 +199,11 @@ def media_post_comment(request, media): add_comment_subscription(request.user, media) comment.save() + link = request.db.Comment() + link.target = media + link.comment = comment + link.save() + messages.add_message( request, messages.SUCCESS, _('Your comment has been posted!')) @@ -682,15 +687,15 @@ def processing_panel(request): @get_optional_media_comment_by_id def file_a_report(request, media, comment): """ - This view handles the filing of a MediaReport or a CommentReport. + This view handles the filing of a Report. """ if comment is not None: - if not comment.get_media_entry.id == media.id: + if not comment.target().id == media.id: return render_404(request) form = user_forms.CommentReportForm(request.form) - context = {'media': media, - 'comment':comment, + context = {'media': comment.target(), + 'comment':comment.comment(), 'form':form} else: form = user_forms.MediaReportForm(request.form) @@ -700,9 +705,11 @@ def file_a_report(request, media, comment): if request.method == "POST": - report_object = build_report_object(form, + report_object = build_report_object( + form, media_entry=media, - comment=comment) + comment=comment + ) # if the object was built successfully, report_table will not be None if report_object: |