def rewards_for_posting(request, quest_id, facebook=False, tumblr=False): rewards = defaultdict(int) def reward(name): rewards[name] += knobs.REWARDS[name] if not request.user.is_authenticated() or QuestComment.posting_in_first_quest(request.user): reward('first_quest') return {'rewards': rewards} quest = get_object_or_404(Quest, id=quest_id) if QuestComment.posting_would_complete_quest_of_the_day(request.user, quest): reward('quest_of_the_day') elif QuestComment.posting_would_complete_archived_quest(request.user, quest): reward('archived_quest') if QuestComment.posting_in_first_quest(request.user): reward('first_quest') if facebook: reward('personal_share') if tumblr: reward('personal_share') streak = QuestComment.posting_would_reward_streak(request.user, quest) if streak: reward('streak_{}'.format(streak)) return {'rewards': rewards}
def rewards_for_posting(request, quest_id, facebook=False, tumblr=False): rewards = defaultdict(int) def reward(name): rewards[name] += knobs.REWARDS[name] if not request.user.is_authenticated( ) or QuestComment.posting_in_first_quest(request.user): reward('first_quest') return {'rewards': rewards} quest = get_object_or_404(Quest, id=quest_id) if QuestComment.posting_would_complete_quest_of_the_day( request.user, quest): reward('quest_of_the_day') elif QuestComment.posting_would_complete_archived_quest( request.user, quest): reward('archived_quest') if QuestComment.posting_in_first_quest(request.user): reward('first_quest') if facebook: reward('personal_share') if tumblr: reward('personal_share') streak = QuestComment.posting_would_reward_streak(request.user, quest) if streak: reward('streak_{}'.format(streak)) return {'rewards': rewards}
def rewards_for_posting(request, quest_id, facebook=False, tumblr=False, twitter=False): rewards = defaultdict(int) def reward(name): rewards[name] += knobs.REWARDS[name] if not request.user.is_authenticated() or QuestComment.posting_in_first_quest(request.user): reward('first_quest') ret = {'rewards': rewards} if request.user.is_authenticated(): streak, days_to_next_streak, next_streak_goal = QuestComment.posting_would_reward_streak(request.user) ret.update({ 'days_to_next_streak': days_to_next_streak, 'next_streak_goal': next_streak_goal, }) return ret quest = get_object_or_404(Quest, id=quest_id) if QuestComment.posting_would_complete_quest_of_the_day(request.user, quest): reward('quest_of_the_day') elif QuestComment.posting_would_complete_archived_quest(request.user, quest): reward('archived_quest') if QuestComment.posting_in_first_quest(request.user): reward('first_quest') if facebook: reward('personal_share') if twitter: reward('personal_twitter_share') streak, days_to_next_streak, next_streak_goal = QuestComment.posting_would_reward_streak(request.user) if streak: reward('streak_{}'.format(streak)) return { 'rewards': rewards, 'days_to_next_streak': days_to_next_streak, 'next_streak_goal': next_streak_goal, }