X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=mediagoblin%2Fuser_pages%2Flib.py;h=b6741001bd9847f57b2ad5356d4b6dfc4b82369c;hb=9308959be28da444e6875691fef14a635b79339d;hp=80eb30bdf90666434e4037a43a9bf496c0eec6d4;hpb=8e91df87349b91611a4dfcf3f2640cb540307144;p=mediagoblin.git diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py index 80eb30bd..b6741001 100644 --- a/mediagoblin/user_pages/lib.py +++ b/mediagoblin/user_pages/lib.py @@ -14,14 +14,14 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from mediagoblin import mg_globals +from mediagoblin.db.base import Session +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 from mediagoblin.tools.translate import pass_to_ugettext as _ -from mediagoblin import mg_globals -from mediagoblin.db.base import Session -from mediagoblin.db.models import (CollectionItem, MediaReport, CommentReport, - MediaComment, MediaEntry) -from mediagoblin.user_pages import forms as user_forms def send_comment_email(user, comment, media, request): @@ -38,11 +38,11 @@ def send_comment_email(user, comment, media, request): comment_url = request.urlgen( 'mediagoblin.user_pages.media_home.view_comment', comment=comment.id, - user=media.get_uploader.username, + user=media.get_actor.username, media=media.slug_or_id, qualified=True) + '#comment' - comment_author = comment.get_author.username + comment_author = comment.get_actor.username rendered_email = render_template( request, 'mediagoblin/user_pages/comment_email.txt', @@ -64,57 +64,50 @@ def send_comment_email(user, comment, media, request): def add_media_to_collection(collection, media, note=None, commit=True): collection_item = CollectionItem() collection_item.collection = collection.id - collection_item.media_entry = media.id + collection_item.get_object = media if note: collection_item.note = note Session.add(collection_item) - collection.items = collection.items + 1 + collection.num_items = collection.num_items + 1 Session.add(collection) - - media.collected = media.collected + 1 Session.add(media) + hook_runall('collection_add_media', collection_item=collection_item) + if commit: Session.commit() + 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( - comment.id).get_author.id + 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_uploader.id + media_entry.id).get_actor.id else: return None report_object.report_content = report_form.report_reason.data report_object.reporter_id = report_form.reporter_id.data return report_object -