From 2a7af9d20e151b6face1984c46d00edac82d6bf6 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Fri, 10 Aug 2012 14:22:51 -0700 Subject: [PATCH] Forcing unread recalcs on feed open. May fix a bunch of mis-calced unreads. --- .gitignore | 1 + apps/reader/views.py | 2 ++ apps/rss_feeds/models.py | 6 ++++++ apps/social/views.py | 1 + 4 files changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index 8285d2efb..4bdcded32 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,6 @@ xcuserdata *.mode1v3 *.pbxuser media/maintenance.html +media/maintenance.html.unused config/settings static.tgz \ No newline at end of file diff --git a/apps/reader/views.py b/apps/reader/views.py index 5461efc8a..704173d36 100644 --- a/apps/reader/views.py +++ b/apps/reader/views.py @@ -508,7 +508,9 @@ def load_single_feed(request, feed_id): if usersub: usersub.feed_opens += 1 + usersub.needs_unread_recalc = True usersub.save() + diff1 = checkpoint1-start diff2 = checkpoint2-start diff3 = checkpoint3-start diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index 5841c726f..10520c671 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -828,6 +828,7 @@ class Feed(models.Model): def update_read_stories_with_new_guid(self, old_story_guid, new_story_guid): from apps.reader.models import MUserStory + from apps.social.models import MSharedStory read_stories = MUserStory.objects.filter(feed_id=self.pk, story_id=old_story_guid) for story in read_stories: story.story_id = new_story_guid @@ -836,6 +837,11 @@ class Feed(models.Model): except OperationError: # User read both new and old. Just toss. pass + shared_stories = MSharedStory.objects.filter(story_feed_id=self.pk, + story_guid=old_story_guid) + for story in shared_stories: + story.story_guid = new_story_guid + story.save() def save_popular_tags(self, feed_tags=None, verbose=False): if not feed_tags: diff --git a/apps/social/views.py b/apps/social/views.py index 896396ec9..26c4159d3 100644 --- a/apps/social/views.py +++ b/apps/social/views.py @@ -165,6 +165,7 @@ def load_social_stories(request, user_id, username=None): if socialsub: socialsub.feed_opens += 1 + socialsub.needs_unread_recalc = True socialsub.save() diff1 = checkpoint1-start