mirror of
https://github.com/viq/NewsBlur.git
synced 2025-04-13 09:38:09 +00:00
Adding global preference for read filtering (unread/all) and story order (oldest/newest). Fixing colored log. Fixing story by email.
This commit is contained in:
parent
508147516d
commit
b7733c71e9
5 changed files with 84 additions and 8 deletions
|
@ -594,8 +594,11 @@ class MUserStory(mongo.Document):
|
|||
if self.story:
|
||||
return self.story.id
|
||||
elif self.found_story:
|
||||
return self.found_story['_ref'].id
|
||||
|
||||
if '_ref' in self.found_story:
|
||||
return self.found_story['_ref'].id
|
||||
elif hasattr(self.found_story, 'id'):
|
||||
return self.found_story.id
|
||||
|
||||
story, found_original = MStory.find_story(self.feed_id, self.story_id)
|
||||
if story:
|
||||
if found_original:
|
||||
|
|
|
@ -1400,7 +1400,7 @@ def send_story_email(request):
|
|||
code = -1
|
||||
message = 'You need to provide your name.'
|
||||
else:
|
||||
story = MStory.find_story(story_feed_id=feed_id, story_guid=story_id)
|
||||
story = MStory.find_story(feed_id, story_id)
|
||||
story = Feed.format_story(story, feed_id, text=True)
|
||||
feed = Feed.objects.get(pk=story['story_feed_id'])
|
||||
text = render_to_string('mail/email_story_text.xhtml', locals())
|
||||
|
|
|
@ -7216,6 +7216,33 @@ form.opml_import_form input {
|
|||
.NB-modal-preferences .NB-preference-story-share label[for=NB-preference-story-share-instapaper] {
|
||||
background: transparent url('/media/embed/reader/instapaper.png') no-repeat 0 0;
|
||||
}
|
||||
.NB-modal-preferences .segmented-control {
|
||||
display: block;
|
||||
margin: 4px 0 12px 24px;
|
||||
float: left;
|
||||
/* height: 14px;*/
|
||||
width: auto;
|
||||
color: white;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
line-height: 18px;
|
||||
}
|
||||
.NB-modal-preferences .segmented-control:last-child {
|
||||
}
|
||||
.NB-modal-preferences .segmented-control li {
|
||||
clear: none;
|
||||
padding: 1px 12px 0;
|
||||
font-size: 12px;
|
||||
color: #E0E0E0;
|
||||
}
|
||||
.NB-modal-preferences .segmented-control li:hover {
|
||||
background-color: #639510;
|
||||
}
|
||||
.NB-modal-preferences .segmented-control li.NB-active {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* ================== */
|
||||
/* = Account Dialog = */
|
||||
|
|
|
@ -163,6 +163,22 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
$.make('div', { className: 'NB-preference-sublabel' }, 'You can override this on a per-site basis.')
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference NB-preference-view-setting' }, [
|
||||
$.make('div', { className: 'NB-preference-options' }, [
|
||||
$.make('ul', { className: 'segmented-control NB-preference-view-setting-order' }, [
|
||||
$.make('li', { className: 'NB-preference-view-setting-order-newest NB-active' }, 'Newest first'),
|
||||
$.make('li', { className: 'NB-preference-view-setting-order-oldest' }, 'Oldest')
|
||||
]),
|
||||
$.make('ul', { className: 'segmented-control NB-preference-view-setting-read-filter' }, [
|
||||
$.make('li', { className: 'NB-preference-view-setting-read-filter-all NB-active' }, 'All stories'),
|
||||
$.make('li', { className: 'NB-preference-view-setting-read-filter-unread' }, 'Unread only')
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference-label'}, [
|
||||
'Default story order',
|
||||
$.make('div', { className: 'NB-preference-sublabel' }, 'You can override this on a per-site and per-folder basis.')
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference NB-preference-story-pane-position' }, [
|
||||
$.make('div', { className: 'NB-preference-options' }, [
|
||||
$.make('div', [
|
||||
|
@ -663,6 +679,12 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
return false;
|
||||
}
|
||||
});
|
||||
var order = NEWSBLUR.Preferences['default_order'];
|
||||
var read_filter = NEWSBLUR.Preferences['default_read_filter'];
|
||||
$('.NB-preference-view-setting-order-oldest', $modal).toggleClass('NB-active', order == 'oldest');
|
||||
$('.NB-preference-view-setting-order-newest', $modal).toggleClass('NB-active', order != 'oldest');
|
||||
$('.NB-preference-view-setting-read-filter-unread', $modal).toggleClass('NB-active', read_filter == 'unread');
|
||||
$('.NB-preference-view-setting-read-filter-all', $modal).toggleClass('NB-active', read_filter != 'unread');
|
||||
|
||||
var share_preferences = _.select(_.keys(NEWSBLUR.Preferences), function(p) {
|
||||
return p.indexOf('story_share') != -1;
|
||||
|
@ -707,6 +729,8 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
$('input[type=checkbox]', this.$modal).each(function() {
|
||||
preferences[$(this).attr('name')] = $(this).is(':checked');
|
||||
});
|
||||
preferences['default_order'] = $('.NB-preference-view-setting-order li.NB-active', this.$modal).hasClass('NB-preference-view-setting-order-oldest') ? 'oldest' : 'newest';
|
||||
preferences['default_read_filter'] = $('.NB-preference-view-setting-read-filter li.NB-active', this.$modal).hasClass('NB-preference-view-setting-read-filter-unread') ? 'unread' : 'all';
|
||||
|
||||
return preferences;
|
||||
},
|
||||
|
@ -760,6 +784,20 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
});
|
||||
},
|
||||
|
||||
change_view_setting: function(view, setting) {
|
||||
if (view == 'order') {
|
||||
$('.NB-preference-view-setting-order-oldest').toggleClass('NB-active', setting == 'oldest');
|
||||
$('.NB-preference-view-setting-order-newest').toggleClass('NB-active', setting != 'oldest');
|
||||
} else if (view == 'read_filter') {
|
||||
$('.NB-preference-view-setting-read-filter-unread').toggleClass('NB-active', setting == 'unread');
|
||||
$('.NB-preference-view-setting-read-filter-all').toggleClass('NB-active', setting != 'unread');
|
||||
}
|
||||
|
||||
this.enable_save();
|
||||
},
|
||||
|
||||
|
||||
|
||||
// ===========
|
||||
// = Actions =
|
||||
// ===========
|
||||
|
@ -782,6 +820,16 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
|
||||
self.close();
|
||||
});
|
||||
$.targetIs(e, { tagSelector: '.segmented-control.NB-preference-view-setting-order li' }, function($t, $p) {
|
||||
e.preventDefault();
|
||||
var order = $t.hasClass('NB-preference-view-setting-order-oldest') ? 'oldest' : 'newest';
|
||||
self.change_view_setting('order', order);
|
||||
});
|
||||
$.targetIs(e, { tagSelector: '.segmented-control.NB-preference-view-setting-read-filter li' }, function($t, $p) {
|
||||
e.preventDefault();
|
||||
var read_filter = $t.hasClass('NB-preference-view-setting-read-filter-unread') ? 'unread' : 'all';
|
||||
self.change_view_setting('read_filter', read_filter);
|
||||
});
|
||||
},
|
||||
|
||||
handle_change: function() {
|
||||
|
|
|
@ -116,11 +116,9 @@ def colorize(msg):
|
|||
for k, v in params.items():
|
||||
msg = re.sub(k, v, msg)
|
||||
msg = msg + '~ST~FW~BT'
|
||||
msg = re.sub(r'(~[A-Z]{2})', r'%(\1)s', msg)
|
||||
try:
|
||||
msg = msg % colors
|
||||
except (TypeError, ValueError, KeyError):
|
||||
pass
|
||||
# msg = re.sub(r'(~[A-Z]{2})', r'%(\1)s', msg)
|
||||
for k, v in colors.items():
|
||||
msg = msg.replace(k, v)
|
||||
return msg
|
||||
|
||||
'''
|
||||
|
|
Loading…
Add table
Reference in a new issue