aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/user_pages
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/user_pages')
-rw-r--r--mediagoblin/user_pages/lib.py33
-rw-r--r--mediagoblin/user_pages/views.py27
2 files changed, 30 insertions, 30 deletions
diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py
index fc1b6a7e..b6741001 100644
--- a/mediagoblin/user_pages/lib.py
+++ b/mediagoblin/user_pages/lib.py
@@ -16,8 +16,8 @@
from mediagoblin import mg_globals
from mediagoblin.db.base import Session
-from mediagoblin.db.models import (CollectionItem, MediaReport, CommentReport,
- MediaComment, MediaEntry)
+from mediagoblin.db.models import CollectionItem, Report, TextComment, \
+ MediaEntry
from mediagoblin.tools.mail import send_email
from mediagoblin.tools.pluginapi import hook_runall
from mediagoblin.tools.template import render_template
@@ -82,34 +82,27 @@ def add_media_to_collection(collection, media, note=None, commit=True):
def build_report_object(report_form, media_entry=None, comment=None):
"""
This function is used to convert a form object (from a User filing a
- report) into either a MediaReport or CommentReport object.
+ report) into a Report.
:param report_form A MediaReportForm or a CommentReportForm object
with valid information from a POST request.
:param media_entry A MediaEntry object. The MediaEntry being repo-
- -rted by a MediaReport. In a CommentReport,
- this will be None.
- :param comment A MediaComment object. The MediaComment being
- reported by a CommentReport. In a MediaReport
- this will be None.
-
- :returns A MediaReport object if a valid MediaReportForm is
- passed as kwarg media_entry. This MediaReport has
+ -rted by a Report.
+ :param comment A Comment object. The Comment being
+ reported by a Report.
+
+ :returns A Report object if a valid MediaReportForm is
+ passed as kwarg media_entry. This Report has
not been saved.
- :returns A CommentReport object if a valid CommentReportForm
- is passed as kwarg comment. This CommentReport
- has not been saved.
:returns None if the form_dict is invalid.
"""
-
+ report_object = Report()
if report_form.validate() and comment is not None:
- report_object = CommentReport()
- report_object.comment_id = comment.id
- report_object.reported_user_id = MediaComment.query.get(
+ report_object.obj = comment.comment()
+ report_object.reported_user_id = TextComment.query.get(
comment.id).get_actor.id
elif report_form.validate() and media_entry is not None:
- report_object = MediaReport()
- report_object.media_entry_id = media_entry.id
+ report_object.obj = media_entry
report_object.reported_user_id = MediaEntry.query.get(
media_entry.id).get_actor.id
else:
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: