mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Adding search to shared stories, removing from folders.
This commit is contained in:
parent
4e54bc5238
commit
41b794adf6
5 changed files with 21 additions and 6 deletions
|
@ -9,6 +9,7 @@ import random
|
|||
import requests
|
||||
from collections import defaultdict
|
||||
from BeautifulSoup import BeautifulSoup
|
||||
from mongoengine.queryset import Q
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.sites.models import Site
|
||||
|
@ -180,7 +181,17 @@ class MSocialProfile(mongo.Document):
|
|||
kwargs={'user_id': self.user_id,
|
||||
'username': self.username_slug}))
|
||||
|
||||
|
||||
def find_stories(self, query, offset=0, limit=25):
|
||||
stories_db = MSharedStory.objects(
|
||||
Q(user_id=self.user_id) &
|
||||
(Q(story_title__icontains=query) |
|
||||
Q(story_content__icontains=query) |
|
||||
Q(story_author_name__icontains=query))
|
||||
).order_by('-shared_date')[offset:offset+limit]
|
||||
stories = Feed.format_stories(stories_db)
|
||||
|
||||
return stories
|
||||
|
||||
def recommended_users(self):
|
||||
r = redis.Redis(connection_pool=settings.REDIS_POOL)
|
||||
following_key = "F:%s:F" % (self.user_id)
|
||||
|
|
|
@ -45,6 +45,7 @@ def load_social_stories(request, user_id, username=None):
|
|||
page = request.REQUEST.get('page')
|
||||
order = request.REQUEST.get('order', 'newest')
|
||||
read_filter = request.REQUEST.get('read_filter', 'all')
|
||||
query = request.REQUEST.get('query')
|
||||
stories = []
|
||||
message = ""
|
||||
|
||||
|
@ -60,6 +61,8 @@ def load_social_stories(request, user_id, username=None):
|
|||
|
||||
if social_profile.private and not social_profile.is_followed_by_user(user.pk):
|
||||
message = "%s has a private blurblog and you must be following them in order to read it." % social_profile.username
|
||||
elif query:
|
||||
stories = social_profile.find_stories(query, offset=offset, limit=limit)
|
||||
elif socialsub and (read_filter == 'unread' or order == 'oldest'):
|
||||
story_hashes = socialsub.get_stories(order=order, read_filter=read_filter, offset=offset, limit=limit)
|
||||
story_date_order = "%sshared_date" % ('' if order == 'oldest' else '-')
|
||||
|
|
|
@ -636,7 +636,8 @@ NEWSBLUR.AssetModel = Backbone.Router.extend({
|
|||
this.make_request('/social/stories/'+user_id+'/', {
|
||||
page: page,
|
||||
order: this.view_setting(feed_id, 'order'),
|
||||
read_filter: this.view_setting(feed_id, 'read_filter')
|
||||
read_filter: this.view_setting(feed_id, 'read_filter'),
|
||||
query: NEWSBLUR.reader.flags.search
|
||||
}, pre_callback, error_callback, {
|
||||
'ajax_group': (page > 1 ? 'feed_page' : 'feed'),
|
||||
'request_type': 'GET'
|
||||
|
|
|
@ -1177,7 +1177,7 @@
|
|||
this.active_feed == 'river:global') {
|
||||
this.open_river_blurblogs_stories({'global': true});
|
||||
} else if (this.flags['social_view']) {
|
||||
this.open_social_stories(this.active_feed);
|
||||
this.open_social_stories(this.active_feed, options);
|
||||
} else if (this.flags['river_view']) {
|
||||
this.open_river_stories(this.active_folder &&
|
||||
this.active_folder.folder_view &&
|
||||
|
@ -1767,11 +1767,10 @@
|
|||
this.iframe_scroll = null;
|
||||
this.flags['opening_feed'] = true;
|
||||
feed.set('selected', true, options);
|
||||
this.set_correct_story_view_for_feed(this.active_feed);
|
||||
this.make_feed_title_in_stories();
|
||||
this.$s.$body.addClass('NB-view-river');
|
||||
|
||||
this.set_correct_story_view_for_feed(this.active_feed);
|
||||
|
||||
// TODO: Only make feed the default for blurblogs, not overriding an explicit pref.
|
||||
this.switch_taskbar_view(this.story_view);
|
||||
this.setup_mousemove_on_views();
|
||||
|
|
|
@ -42,6 +42,7 @@ NEWSBLUR.Views.StoryTitlesHeader = Backbone.View.extend({
|
|||
<div class="folder_title_text">Saved Stories</div>\
|
||||
</div>\
|
||||
', {}));
|
||||
$view.append(search_view.$el);
|
||||
} else if (this.showing_fake_folder) {
|
||||
$view = $(_.template('\
|
||||
<div class="NB-folder NB-no-hover">\
|
||||
|
@ -84,9 +85,9 @@ NEWSBLUR.Views.StoryTitlesHeader = Backbone.View.extend({
|
|||
type: 'story'
|
||||
}).render();
|
||||
$view = this.view.$el;
|
||||
$view.append(search_view.$el);
|
||||
}
|
||||
|
||||
$view.append(search_view.$el);
|
||||
this.$el.html($view);
|
||||
this.setElement($view);
|
||||
this.show_feed_hidden_story_title_indicator();
|
||||
|
|
Loading…
Add table
Reference in a new issue