Following and unfollowing from intro.

This commit is contained in:
Samuel Clay 2012-03-19 16:35:56 -07:00
parent 2200aa282a
commit d2cb186d56
8 changed files with 64 additions and 22 deletions

View file

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

View file

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

View file

@ -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 = */
/* ======================== */

View file

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

View file

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

View file

@ -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));
}
},

View file

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

View file

@ -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" }},