mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-08-05 16:58:59 +00:00
Following and unfollowing from intro.
This commit is contained in:
parent
2200aa282a
commit
d2cb186d56
8 changed files with 64 additions and 22 deletions
|
@ -10,6 +10,7 @@ from apps.social.models import MSocialServices
|
||||||
from utils import log as logging
|
from utils import log as logging
|
||||||
from utils.user_functions import ajax_login_required
|
from utils.user_functions import ajax_login_required
|
||||||
from utils.view_functions import render_to
|
from utils.view_functions import render_to
|
||||||
|
from utils import json_functions as json
|
||||||
from vendor import facebook
|
from vendor import facebook
|
||||||
from vendor import tweepy
|
from vendor import tweepy
|
||||||
|
|
||||||
|
@ -136,26 +137,45 @@ def facebook_disconnect(request):
|
||||||
return HttpResponseRedirect(reverse('friends'))
|
return HttpResponseRedirect(reverse('friends'))
|
||||||
|
|
||||||
@ajax_login_required
|
@ajax_login_required
|
||||||
|
@json.json_view
|
||||||
def follow_twitter_account(request):
|
def follow_twitter_account(request):
|
||||||
username = request.POST['username']
|
username = request.POST['username']
|
||||||
|
code = 1
|
||||||
|
message = "OK"
|
||||||
|
|
||||||
|
logging.user(request, "~BB~FRFollowing Twitter: %s" % username)
|
||||||
|
|
||||||
if username not in ['samuelclay', 'newsblur']:
|
if username not in ['samuelclay', 'newsblur']:
|
||||||
return HttpResponseForbidden
|
return HttpResponseForbidden
|
||||||
|
|
||||||
social_services = MSocialServices.objects.get(user_id=request.user.pk)
|
social_services = MSocialServices.objects.get(user_id=request.user.pk)
|
||||||
|
try:
|
||||||
api = social_services.twitter_api()
|
api = social_services.twitter_api()
|
||||||
api.follow_user('samuelclayid')
|
api.create_friendship(username)
|
||||||
|
except tweepy.TweepError, e:
|
||||||
|
code = -1
|
||||||
|
message = e
|
||||||
|
|
||||||
return {}
|
return {'code': code, 'message': message}
|
||||||
|
|
||||||
@ajax_login_required
|
@ajax_login_required
|
||||||
|
@json.json_view
|
||||||
def unfollow_twitter_account(request):
|
def unfollow_twitter_account(request):
|
||||||
username = request.POST['username']
|
username = request.POST['username']
|
||||||
|
code = 1
|
||||||
|
message = "OK"
|
||||||
|
|
||||||
|
logging.user(request, "~BB~FRUnfollowing Twitter: %s" % username)
|
||||||
|
|
||||||
if username not in ['samuelclay', 'newsblur']:
|
if username not in ['samuelclay', 'newsblur']:
|
||||||
return HttpResponseForbidden
|
return HttpResponseForbidden
|
||||||
|
|
||||||
social_services = MSocialServices.objects.get(user_id=request.user.pk)
|
social_services = MSocialServices.objects.get(user_id=request.user.pk)
|
||||||
|
try:
|
||||||
api = social_services.twitter_api()
|
api = social_services.twitter_api()
|
||||||
api.unfollow_user('samuelclayid')
|
api.destroy_friendship(username)
|
||||||
|
except tweepy.TweepError, e:
|
||||||
return {}
|
code = -1
|
||||||
|
message = e
|
||||||
|
|
||||||
|
return {'code': code, 'message': message}
|
||||||
|
|
|
@ -118,6 +118,12 @@ class UserSubscription(models.Model):
|
||||||
user_sub_folders_object.folders = json.encode(user_sub_folders)
|
user_sub_folders_object.folders = json.encode(user_sub_folders)
|
||||||
user_sub_folders_object.save()
|
user_sub_folders_object.save()
|
||||||
|
|
||||||
|
if not auto_active:
|
||||||
|
feed_count = cls.objects.filter(user=user).count()
|
||||||
|
if feed_count < 64 or user.profile.is_premium:
|
||||||
|
us.active = True
|
||||||
|
us.save()
|
||||||
|
|
||||||
feed.setup_feed_for_premium_subscribers()
|
feed.setup_feed_for_premium_subscribers()
|
||||||
|
|
||||||
if feed.last_update < datetime.datetime.utcnow() - datetime.timedelta(days=1):
|
if feed.last_update < datetime.datetime.utcnow() - datetime.timedelta(days=1):
|
||||||
|
|
|
@ -5589,7 +5589,7 @@ background: transparent;
|
||||||
width: 47%;
|
width: 47%;
|
||||||
background-color: #FED655;
|
background-color: #FED655;
|
||||||
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FED655), to(#F3BE00));
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FED655), to(#F3BE00));
|
||||||
background: -moz-linear-gradient(center bottom, #FED655 100%, #F3BE00 0%);
|
background: -moz-linear-gradient(center bottom, #F3BE00 0%, #FED655 100%);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
text-shadow: 0 1px 0 #FEEA95;
|
text-shadow: 0 1px 0 #FEEA95;
|
||||||
border: 1px solid #FFFDE0;
|
border: 1px solid #FFFDE0;
|
||||||
|
@ -5598,7 +5598,7 @@ background: transparent;
|
||||||
.NB-modal-intro .NB-intro-uptodate-follow.NB-active {
|
.NB-modal-intro .NB-intro-uptodate-follow.NB-active {
|
||||||
background-color: #ED6D00;
|
background-color: #ED6D00;
|
||||||
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ED6D00), to(#DD5A00));
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ED6D00), to(#DD5A00));
|
||||||
background: -moz-linear-gradient(center bottom, #ED6D00 100%, #DD5A00 0%);
|
background: -moz-linear-gradient(center bottom, #DD5A00 0%, #ED6D00 100%);
|
||||||
color: white;
|
color: white;
|
||||||
text-shadow: 0 1px 0 #303030;
|
text-shadow: 0 1px 0 #303030;
|
||||||
border: 1px solid #ED6D00;
|
border: 1px solid #ED6D00;
|
||||||
|
@ -7461,6 +7461,13 @@ background: transparent;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
.NB-profile-badge-actions .NB-profile-badge-action-preview.NB-disabled {
|
||||||
|
cursor: default;
|
||||||
|
background: white;
|
||||||
|
box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
opacity: .25;
|
||||||
|
}
|
||||||
/* ======================== */
|
/* ======================== */
|
||||||
/* = Social Profile Modal = */
|
/* = Social Profile Modal = */
|
||||||
/* ======================== */
|
/* ======================== */
|
||||||
|
|
|
@ -1112,7 +1112,6 @@
|
||||||
this.load_sortable_feeds();
|
this.load_sortable_feeds();
|
||||||
this.update_header_counts();
|
this.update_header_counts();
|
||||||
_.delay(_.bind(this.update_starred_count, this), 250);
|
_.delay(_.bind(this.update_starred_count, this), 250);
|
||||||
this.model.preference('has_setup_feeds', true);
|
|
||||||
NEWSBLUR.reader.check_hide_getting_started();
|
NEWSBLUR.reader.check_hide_getting_started();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1630,12 +1629,11 @@
|
||||||
open_dialog_after_feeds_loaded: function() {
|
open_dialog_after_feeds_loaded: function() {
|
||||||
if (!NEWSBLUR.Globals.is_authenticated) return;
|
if (!NEWSBLUR.Globals.is_authenticated) return;
|
||||||
|
|
||||||
if (!this.model.folders.length) {
|
if (!this.model.folders.length || !this.model.preference('has_setup_feeds')) {
|
||||||
if (!this.model.preference('has_setup_feeds') &&
|
if (this.model.preference('has_setup_feeds')) {
|
||||||
(!NEWSBLUR.intro || !NEWSBLUR.intro.flags.open)) {
|
|
||||||
_.defer(_.bind(this.open_intro_modal, this), 100);
|
|
||||||
} else if (this.model.preference('has_setup_feeds')) {
|
|
||||||
this.setup_ftux_add_feed_callout();
|
this.setup_ftux_add_feed_callout();
|
||||||
|
} else if (!NEWSBLUR.intro || !NEWSBLUR.intro.flags.open) {
|
||||||
|
_.defer(_.bind(this.open_intro_modal, this), 100);
|
||||||
}
|
}
|
||||||
} else if (!this.model.flags['has_chosen_feeds'] && this.flags['favicons_downloaded'] && this.model.folders.length) {
|
} else if (!this.model.flags['has_chosen_feeds'] && this.flags['favicons_downloaded'] && this.model.folders.length) {
|
||||||
_.defer(_.bind(this.open_feedchooser_modal, this), 100);
|
_.defer(_.bind(this.open_feedchooser_modal, this), 100);
|
||||||
|
|
|
@ -219,6 +219,8 @@ _.extend(NEWSBLUR.ReaderAddFeed.prototype, {
|
||||||
NEWSBLUR.reader.handle_mouse_indicator_hover();
|
NEWSBLUR.reader.handle_mouse_indicator_hover();
|
||||||
$.modal.close();
|
$.modal.close();
|
||||||
$submit.val('Added!');
|
$submit.val('Added!');
|
||||||
|
this.model.preference('has_setup_feeds', true);
|
||||||
|
NEWSBLUR.reader.check_hide_getting_started();
|
||||||
} else {
|
} else {
|
||||||
var $error = $('.NB-error', '.NB-fieldset.NB-add-add-url');
|
var $error = $('.NB-error', '.NB-fieldset.NB-add-add-url');
|
||||||
$error.text(data.message);
|
$error.text(data.message);
|
||||||
|
|
|
@ -286,8 +286,6 @@ _.extend(NEWSBLUR.ReaderIntro.prototype, {
|
||||||
if (page_number == page_count) {
|
if (page_number == page_count) {
|
||||||
$('.NB-tutorial-next-page-text', this.$modal).text('All Done ');
|
$('.NB-tutorial-next-page-text', this.$modal).text('All Done ');
|
||||||
} else if (page_number > page_count) {
|
} else if (page_number > page_count) {
|
||||||
|
|
||||||
this.model.preference('has_setup_feeds', true);
|
|
||||||
NEWSBLUR.reader.check_hide_getting_started();
|
NEWSBLUR.reader.check_hide_getting_started();
|
||||||
this.close(function() {
|
this.close(function() {
|
||||||
NEWSBLUR.reader.open_dialog_after_feeds_loaded();
|
NEWSBLUR.reader.open_dialog_after_feeds_loaded();
|
||||||
|
@ -342,11 +340,18 @@ _.extend(NEWSBLUR.ReaderIntro.prototype, {
|
||||||
},
|
},
|
||||||
|
|
||||||
count_feeds: function() {
|
count_feeds: function() {
|
||||||
|
var feed_count = _.size(this.model.feeds);
|
||||||
|
|
||||||
$(".NB-intro-imports-sites h4", this.$modal).text([
|
$(".NB-intro-imports-sites h4", this.$modal).text([
|
||||||
'You are subscribed to ',
|
'You are subscribed to ',
|
||||||
Inflector.pluralize(' site', _.size(this.model.feeds), true),
|
Inflector.pluralize(' site', feed_count, true),
|
||||||
'.'
|
'.'
|
||||||
].join(""));
|
].join(""));
|
||||||
|
|
||||||
|
if (feed_count) {
|
||||||
|
this.model.preference('has_setup_feeds', true);
|
||||||
|
NEWSBLUR.reader.check_hide_getting_started();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
fade_out_logo: function() {
|
fade_out_logo: function() {
|
||||||
|
|
|
@ -70,7 +70,8 @@ NEWSBLUR.Views.SocialProfileBadge = Backbone.View.extend({
|
||||||
className: 'NB-profile-badge-action-follow NB-modal-submit-button NB-modal-submit-green'
|
className: 'NB-profile-badge-action-follow NB-modal-submit-button NB-modal-submit-green'
|
||||||
}, 'Follow'),
|
}, 'Follow'),
|
||||||
$.make('div', {
|
$.make('div', {
|
||||||
className: 'NB-profile-badge-action-preview NB-modal-submit-button NB-modal-submit-grey'
|
className: 'NB-profile-badge-action-preview NB-modal-submit-button NB-modal-submit-grey ' +
|
||||||
|
(!profile.get('shared_stories_count') ? 'NB-disabled' : '')
|
||||||
}, 'Preview')
|
}, 'Preview')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@ -113,6 +114,8 @@ NEWSBLUR.Views.SocialProfileBadge = Backbone.View.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
preview_user: function() {
|
preview_user: function() {
|
||||||
|
if (this.$('.NB-profile-badge-action-preview').hasClass('NB-disabled')) return;
|
||||||
|
|
||||||
$.modal.close(_.bind(function() {
|
$.modal.close(_.bind(function() {
|
||||||
window.ss = this.model;
|
window.ss = this.model;
|
||||||
var socialsub = NEWSBLUR.reader.model.add_social_feed(this.model);
|
var socialsub = NEWSBLUR.reader.model.add_social_feed(this.model);
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
'unread_view' : 0,
|
'unread_view' : 0,
|
||||||
'lock_mouse_indicator' : 0,
|
'lock_mouse_indicator' : 0,
|
||||||
'feed_pane_size' : {% firstof user_profile.feed_pane_size 240 %},
|
'feed_pane_size' : {% firstof user_profile.feed_pane_size 240 %},
|
||||||
|
'hide_getting_started' : {{ user_profile.hide_getting_started|yesno:"true,false" }},
|
||||||
'has_setup_feeds' : {{ user_profile.has_setup_feeds|yesno:"true,false" }},
|
'has_setup_feeds' : {{ user_profile.has_setup_feeds|yesno:"true,false" }},
|
||||||
'has_found_friends' : {{ user_profile.has_found_friends|yesno:"true,false" }},
|
'has_found_friends' : {{ user_profile.has_found_friends|yesno:"true,false" }},
|
||||||
'has_trained_intelligence': {{ user_profile.has_trained_intelligence|yesno:"true,false" }},
|
'has_trained_intelligence': {{ user_profile.has_trained_intelligence|yesno:"true,false" }},
|
||||||
|
|
Loading…
Add table
Reference in a new issue