From 58dbf1ada7aefd67dd27ff0229e376d9fff39688 Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Tue, 6 Mar 2012 23:07:21 -0300 Subject: delete activity with the stale content_type of the related content object --- askbot/management/commands/delete_contextless_activities.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'askbot') diff --git a/askbot/management/commands/delete_contextless_activities.py b/askbot/management/commands/delete_contextless_activities.py index e16a9957..553217bf 100644 --- a/askbot/management/commands/delete_contextless_activities.py +++ b/askbot/management/commands/delete_contextless_activities.py @@ -9,9 +9,14 @@ class Command(NoArgsCommand): deleted_count = 0 message = "Searching for context-less activity objects:" for act in ProgressBar(acts.iterator(), acts.count(), message): - if act.object_id != None and act.content_object == None: + try: + if act.object_id != None and act.content_object == None: + act.delete() + deleted_count += 1 + except: + #this can happen if we have a stale content type act.delete() - deleted_count += 1 + if deleted_count: print "%d activity objects deleted" % deleted_count else: -- cgit v1.2.3-1-g7c22 From ae150720e1a9d700a8a5541e6445c127d61662eb Mon Sep 17 00:00:00 2001 From: Evgeny Fadeev Date: Wed, 7 Mar 2012 03:17:07 -0300 Subject: added cache invalidation on answer post, question retag and close/reopen --- askbot/models/__init__.py | 2 ++ askbot/models/question.py | 1 + 2 files changed, 3 insertions(+) (limited to 'askbot') diff --git a/askbot/models/__init__.py b/askbot/models/__init__.py index d7f2770f..9abb4198 100644 --- a/askbot/models/__init__.py +++ b/askbot/models/__init__.py @@ -1104,6 +1104,7 @@ def user_retag_question( tagnames = tags, silent = silent ) + question.thread.invalidate_cached_data() award_badges_signal.send(None, event = 'retag_question', actor = self, @@ -1475,6 +1476,7 @@ def user_post_answer( email_notify = follow, wiki = wiki ) + answer_post.thread.invalidate_cached_data() award_badges_signal.send(None, event = 'post_answer', actor = self, diff --git a/askbot/models/question.py b/askbot/models/question.py index f0e6e03e..ff39bb7d 100644 --- a/askbot/models/question.py +++ b/askbot/models/question.py @@ -370,6 +370,7 @@ class Thread(models.Model): self.closed_at = closed_at self.close_reason = close_reason self.save() + self.invalidate_cached_data() def set_accepted_answer(self, answer, timestamp): if answer and answer.thread != self: -- cgit v1.2.3-1-g7c22