diff options
Diffstat (limited to 'mediagoblin/db')
-rw-r--r-- | mediagoblin/db/base.py | 8 | ||||
-rw-r--r-- | mediagoblin/db/models.py | 15 |
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() |