diff --git a/apps/reader/views.py b/apps/reader/views.py index 9ac91fbf1..8daca96a2 100644 --- a/apps/reader/views.py +++ b/apps/reader/views.py @@ -66,8 +66,9 @@ def index(request): feed_count = UserSubscription.objects.filter(user=request.user).count() active_count = UserSubscription.objects.filter(user=request.user, active=True).count() train_count = UserSubscription.objects.filter(user=request.user, active=True, is_trained=False, feed__stories_last_month__gte=1).count() - - recommended_feeds = RecommendedFeed.objects.filter(is_public=True).select_related('feed') + + now = datetime.datetime.now() + recommended_feeds = RecommendedFeed.objects.filter(is_public=True, approved_date__lte=now).select_related('feed') # recommended_feed_feedback = RecommendedFeedUserFeedback.objects.filter(recommendation=recommended_feed) howitworks_page = random.randint(0, 5) diff --git a/apps/recommendations/views.py b/apps/recommendations/views.py index b90227046..f1e2ee8c3 100644 --- a/apps/recommendations/views.py +++ b/apps/recommendations/views.py @@ -1,3 +1,4 @@ +import datetime from utils import log as logging from django.http import HttpResponse from django.template import RequestContext @@ -13,11 +14,13 @@ def load_recommended_feed(request): user = get_user(request) page = int(request.REQUEST.get('page', 0)) usersub = None + refresh = request.REQUEST.get('refresh') + now = datetime.datetime.now - recommended_feeds = RecommendedFeed.objects.all()[page:page+2] + recommended_feeds = RecommendedFeed.objects.filter(is_public=True, approved_date__lte=now)[page:page+2] if recommended_feeds and request.user.is_authenticated(): usersub = UserSubscription.objects.filter(user=user, feed=recommended_feeds[0].feed) - if page != 0: + if refresh != 'true': logging.user(request.user, "~FBBrowse recommended feed: ~SBPage #%s" % (page+1)) recommended_feed = recommended_feeds and recommended_feeds[0] diff --git a/media/js/newsblur/assetmodel.js b/media/js/newsblur/assetmodel.js index 9306b9754..26b5a5ed1 100644 --- a/media/js/newsblur/assetmodel.js +++ b/media/js/newsblur/assetmodel.js @@ -694,8 +694,11 @@ NEWSBLUR.AssetModel.Reader.prototype = { this.make_request('/reader/load_features', {'page': page}, callback); }, - load_recommended_feed: function(page, callback) { - this.make_request('/recommendations/load_recommended_feed', {'page': page}, callback); + load_recommended_feed: function(page, refresh, callback) { + this.make_request('/recommendations/load_recommended_feed', { + 'page': page, + 'refresh': refresh + }, callback); }, save_feed_order: function(folders, callback) { diff --git a/media/js/newsblur/reader.js b/media/js/newsblur/reader.js index 1ffcb0f08..85bb5cead 100644 --- a/media/js/newsblur/reader.js +++ b/media/js/newsblur/reader.js @@ -4841,7 +4841,7 @@ load_recommended_feeds: function() { // Reload recommended feeds every 10 minutes. setInterval(_.bind(function() { - this.load_recommended_feed(); + this.load_recommended_feed(0, true); }, this), 10*60*1000); }, @@ -4890,13 +4890,13 @@ this.open_add_feed_modal({url: feed_address}); }, - load_recommended_feed: function(direction) { + load_recommended_feed: function(direction, refresh) { var self = this; var $module = $('.NB-module-recommended'); $module.addClass('NB-loading'); direction = direction || 0; - this.model.load_recommended_feed(this.counts['recommended_feed_page']+direction, function(resp) { + this.model.load_recommended_feed(this.counts['recommended_feed_page']+direction, !!refresh, function(resp) { if (!resp) return; self.counts['recommended_feed_page'] += direction;