mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-04-13 09:42:01 +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.user_functions import ajax_login_required
|
||||
from utils.view_functions import render_to
|
||||
from utils import json_functions as json
|
||||
from vendor import facebook
|
||||
from vendor import tweepy
|
||||
|
||||
|
@ -136,26 +137,45 @@ def facebook_disconnect(request):
|
|||
return HttpResponseRedirect(reverse('friends'))
|
||||
|
||||
@ajax_login_required
|
||||
@json.json_view
|
||||
def follow_twitter_account(request):
|
||||
username = request.POST['username']
|
||||
code = 1
|
||||
message = "OK"
|
||||
|
||||
logging.user(request, "~BB~FRFollowing Twitter: %s" % username)
|
||||
|
||||
if username not in ['samuelclay', 'newsblur']:
|
||||
return HttpResponseForbidden
|
||||
|
||||
social_services = MSocialServices.objects.get(user_id=request.user.pk)
|
||||
api = social_services.twitter_api()
|
||||
api.follow_user('samuelclayid')
|
||||
|
||||
return {}
|
||||
try:
|
||||
api = social_services.twitter_api()
|
||||
api.create_friendship(username)
|
||||
except tweepy.TweepError, e:
|
||||
code = -1
|
||||
message = e
|
||||
|
||||
return {'code': code, 'message': message}
|
||||
|
||||
@ajax_login_required
|
||||
@json.json_view
|
||||
def unfollow_twitter_account(request):
|
||||
username = request.POST['username']
|
||||
code = 1
|
||||
message = "OK"
|
||||
|
||||
logging.user(request, "~BB~FRUnfollowing Twitter: %s" % username)
|
||||
|
||||
if username not in ['samuelclay', 'newsblur']:
|
||||
return HttpResponseForbidden
|
||||
|
||||
social_services = MSocialServices.objects.get(user_id=request.user.pk)
|
||||
api = social_services.twitter_api()
|
||||
api.unfollow_user('samuelclayid')
|
||||
try:
|
||||
api = social_services.twitter_api()
|
||||
api.destroy_friendship(username)
|
||||
except tweepy.TweepError, e:
|
||||
code = -1
|
||||
message = e
|
||||
|
||||
return {}
|
||||
|
||||
return {'code': code, 'message': message}
|
||||
|
|
|
@ -117,12 +117,18 @@ class UserSubscription(models.Model):
|
|||
user_sub_folders = add_object_to_folder(feed.pk, folder, user_sub_folders)
|
||||
user_sub_folders_object.folders = json.encode(user_sub_folders)
|
||||
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()
|
||||
|
||||
if feed.last_update < datetime.datetime.utcnow() - datetime.timedelta(days=1):
|
||||
feed.update()
|
||||
|
||||
|
||||
return code, message, us
|
||||
|
||||
def mark_feed_read(self):
|
||||
|
|
|
@ -5589,7 +5589,7 @@ background: transparent;
|
|||
width: 47%;
|
||||
background-color: #FED655;
|
||||
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;
|
||||
text-shadow: 0 1px 0 #FEEA95;
|
||||
border: 1px solid #FFFDE0;
|
||||
|
@ -5598,7 +5598,7 @@ background: transparent;
|
|||
.NB-modal-intro .NB-intro-uptodate-follow.NB-active {
|
||||
background-color: #ED6D00;
|
||||
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;
|
||||
text-shadow: 0 1px 0 #303030;
|
||||
border: 1px solid #ED6D00;
|
||||
|
@ -7461,6 +7461,13 @@ background: transparent;
|
|||
line-height: 1;
|
||||
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 = */
|
||||
/* ======================== */
|
||||
|
|
|
@ -1112,7 +1112,6 @@
|
|||
this.load_sortable_feeds();
|
||||
this.update_header_counts();
|
||||
_.delay(_.bind(this.update_starred_count, this), 250);
|
||||
this.model.preference('has_setup_feeds', true);
|
||||
NEWSBLUR.reader.check_hide_getting_started();
|
||||
}
|
||||
|
||||
|
@ -1630,12 +1629,11 @@
|
|||
open_dialog_after_feeds_loaded: function() {
|
||||
if (!NEWSBLUR.Globals.is_authenticated) return;
|
||||
|
||||
if (!this.model.folders.length) {
|
||||
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')) {
|
||||
if (!this.model.folders.length || !this.model.preference('has_setup_feeds')) {
|
||||
if (this.model.preference('has_setup_feeds')) {
|
||||
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) {
|
||||
_.defer(_.bind(this.open_feedchooser_modal, this), 100);
|
||||
|
|
|
@ -219,6 +219,8 @@ _.extend(NEWSBLUR.ReaderAddFeed.prototype, {
|
|||
NEWSBLUR.reader.handle_mouse_indicator_hover();
|
||||
$.modal.close();
|
||||
$submit.val('Added!');
|
||||
this.model.preference('has_setup_feeds', true);
|
||||
NEWSBLUR.reader.check_hide_getting_started();
|
||||
} else {
|
||||
var $error = $('.NB-error', '.NB-fieldset.NB-add-add-url');
|
||||
$error.text(data.message);
|
||||
|
|
|
@ -286,8 +286,6 @@ _.extend(NEWSBLUR.ReaderIntro.prototype, {
|
|||
if (page_number == page_count) {
|
||||
$('.NB-tutorial-next-page-text', this.$modal).text('All Done ');
|
||||
} else if (page_number > page_count) {
|
||||
|
||||
this.model.preference('has_setup_feeds', true);
|
||||
NEWSBLUR.reader.check_hide_getting_started();
|
||||
this.close(function() {
|
||||
NEWSBLUR.reader.open_dialog_after_feeds_loaded();
|
||||
|
@ -342,11 +340,18 @@ _.extend(NEWSBLUR.ReaderIntro.prototype, {
|
|||
},
|
||||
|
||||
count_feeds: function() {
|
||||
var feed_count = _.size(this.model.feeds);
|
||||
|
||||
$(".NB-intro-imports-sites h4", this.$modal).text([
|
||||
'You are subscribed to ',
|
||||
Inflector.pluralize(' site', _.size(this.model.feeds), true),
|
||||
Inflector.pluralize(' site', feed_count, true),
|
||||
'.'
|
||||
].join(""));
|
||||
|
||||
if (feed_count) {
|
||||
this.model.preference('has_setup_feeds', true);
|
||||
NEWSBLUR.reader.check_hide_getting_started();
|
||||
}
|
||||
},
|
||||
|
||||
fade_out_logo: function() {
|
||||
|
@ -404,7 +409,7 @@ _.extend(NEWSBLUR.ReaderIntro.prototype, {
|
|||
NEWSBLUR.reader.flags.importing_from_google_reader = false;
|
||||
this.advance_import_carousel(1);
|
||||
$loading.addClass('NB-active');
|
||||
this.model.start_import_from_google_reader($.rescope(this.finish_import_from_google_reader, this));
|
||||
this.model.start_import_from_google_reader($.rescope(this.finish_import_from_google_reader, this));
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -70,7 +70,8 @@ NEWSBLUR.Views.SocialProfileBadge = Backbone.View.extend({
|
|||
className: 'NB-profile-badge-action-follow NB-modal-submit-button NB-modal-submit-green'
|
||||
}, 'Follow'),
|
||||
$.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')
|
||||
]);
|
||||
}
|
||||
|
@ -113,6 +114,8 @@ NEWSBLUR.Views.SocialProfileBadge = Backbone.View.extend({
|
|||
},
|
||||
|
||||
preview_user: function() {
|
||||
if (this.$('.NB-profile-badge-action-preview').hasClass('NB-disabled')) return;
|
||||
|
||||
$.modal.close(_.bind(function() {
|
||||
window.ss = this.model;
|
||||
var socialsub = NEWSBLUR.reader.model.add_social_feed(this.model);
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
'unread_view' : 0,
|
||||
'lock_mouse_indicator' : 0,
|
||||
'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_found_friends' : {{ user_profile.has_found_friends|yesno:"true,false" }},
|
||||
'has_trained_intelligence': {{ user_profile.has_trained_intelligence|yesno:"true,false" }},
|
||||
|
|
Loading…
Add table
Reference in a new issue