aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/db')
-rw-r--r--mediagoblin/db/base.py8
-rw-r--r--mediagoblin/db/models.py15
2 files changed, 9 insertions, 14 deletions
diff --git a/mediagoblin/db/base.py b/mediagoblin/db/base.py
index 0f17a3a8..c59b0ebf 100644
--- a/mediagoblin/db/base.py
+++ b/mediagoblin/db/base.py
@@ -96,7 +96,7 @@ class GMGTableBase(object):
# cause issues if it isn't. See #5382.
# Import here to prevent cyclic imports.
from mediagoblin.db.models import CollectionItem, GenericModelReference, \
- Report, Notification
+ Report, Notification, Comment
# Some of the models don't have an "id" field which means they can't be
# used with GMR, these models won't be in collections because they
@@ -123,6 +123,12 @@ class GMGTableBase(object):
)
notifications.delete()
+ # Delete this as a comment
+ comments = Comment.query.filter_by(
+ comment_id=gmr.id
+ )
+ comments.delete()
+
# Set None on reports found
reports = Report.query.filter_by(
object_id=gmr.id
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py
index 3f36f227..5393f679 100644
--- a/mediagoblin/db/models.py
+++ b/mediagoblin/db/models.py
@@ -609,7 +609,7 @@ class MediaEntry(Base, MediaEntryMixin, CommentingMixin):
else:
query = query.order_by(Comment.added.desc())
- return FakeCursor(query, lambda c:c.comment())
+ return query
def url_to_prev(self, urlgen):
"""get the next 'newer' entry by this user"""
@@ -778,7 +778,7 @@ class MediaEntry(Base, MediaEntryMixin, CommentingMixin):
if show_comments:
comments = [
- comment.serialize(request) for comment in self.get_comments()]
+ l.comment().serialize(request) for l in self.get_comments()]
total = len(comments)
context["replies"] = {
"totalItems": total,
@@ -1008,17 +1008,6 @@ class TextComment(Base, TextCommentMixin, CommentingMixin):
cascade="all, delete-orphan"))
deletion_mode = Base.SOFT_DELETE
- def soft_delete(self, *args, **kwargs):
- # Find the GMR for this model.
- gmr = GenericModelReference.query.filter_by(
- obj_pk=self.id,
- model_type=self.__tablename__
- ).first()
-
- # Delete the Comment object for this comment
- Comment.query.filter_by(comment_id=gmr.id).delete()
- return super(TextComment, self).soft_delete(*args, **kwargs)
-
def serialize(self, request):
""" Unserialize to python dictionary for API """
target = self.get_reply_to()