Recommended feeds should only be shown if approved, public, and before their publish date.

This commit is contained in:
Samuel Clay 2011-04-09 11:13:02 -04:00
parent 4c16df13eb
commit 1cf87a3d23
4 changed files with 16 additions and 9 deletions

View file

@ -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)

View file

@ -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]

View file

@ -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) {

View file

@ -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;