def get_context_data(self, **kwargs): context = super(MobilePledgeView, self).get_context_data(**kwargs) context['FACEBOOK_APP_ID'] = settings.FACEBOOK_APP_ID context['OG_URL'] = opengraph_url(self.request, settings.FACEBOOK_OG_PLEDGE_ACTION) context['VOTE_OBJ'] = settings.BASE_URL + reverse('pledge_object') return context
def my_vote_vote(request): user = User.objects.get(fb_uid=request.facebook["uid"]) after = request.session.get('after', None) if request.method == 'GET': return render_to_response("my_vote_vote.html", { 'page': 'my_vote', 'section': 'vote', 'user': user, }, context_instance=RequestContext(request)) elif request.method == 'POST': if 'yes' in request.POST: explicit_share = request.POST.get('tell-friends', '') == 'on' if explicit_share: og_url = opengraph_url(request, settings.FACEBOOK_OG_VOTE_ACTION) share = requests.post(og_url, params={ 'election': settings.BASE_URL + reverse('vote_object'), 'access_token': request.facebook['access_token'], 'fb:explicitly_shared': 'true', }) print 'Explicit share vote response: %s' % share.status_code print share.content user.explicit_share_vote = explicit_share user.date_voted = datetime.now() try: friendships = Friendship.objects.filter(fb_uid=user.fb_uid) for friendship in friendships: friendship.date_voted = datetime.now() friendship.save() except Friendship.DoesNotExist: pass messages.add_message( request, messages.INFO, # Translators: message displayed to users in when they mark themselves as having voted. _("Your voice was heard! Make sure your friends' voices are also heard:") ) if after: redirect_view = after else: redirect_view = 'main:invite_friends_2' else: user.date_voted = None messages.add_message( request, messages.INFO, # Translators: message displayed to users in when they mark themselves as not having voted. _("Got it, you haven't voted yet. Don't forget!") ) if after: redirect_view = after else: redirect_view = 'main:invite_friends_2' user.save() update_friends_of.delay(user.id) return redirect(redirect_view)
def submit_pledge(request): next = reverse("main:my_vote") user = User.objects.get(fb_uid=request.facebook["uid"]) explicit_share = request.GET.get('explicit_share', None) == 'true' if explicit_share: og_url = opengraph_url(request, settings.FACEBOOK_OG_PLEDGE_ACTION) share = requests.post(og_url, params={ 'vote_obj': settings.BASE_URL + reverse('pledge_object'), 'access_token': request.facebook['access_token'], 'fb:explicitly_shared': 'true', }) print 'Explicit share pledge response: %s' % share.status_code print share.content user = User.objects.get(id=user.id) user.explicit_share = explicit_share user.date_pledged = datetime.now() user.save() showing_message = False join_block = request.GET.get('join_block', None) == 'true' if join_block: block = _voting_block_from_session(request.session) if not VotingBlockMember.objects.filter( member=user, voting_block_id=block.pk).exists(): showing_message = True messages.add_message(request, messages.INFO, _voting_block_join_message(block)) try: VotingBlockMember.objects.create(member=user, voting_block_id=block.pk, joined=datetime.now()) except IntegrityError: pass next = reverse("main:voting_blocks_item", args=[ block.pk, ]) update_friends_of.delay(user.id) if not showing_message: messages.add_message( request, messages.INFO, # Translators: message displayed to users in green bar when they pledge to vote _("Thank you for pledging to vote!")) return {"next": next}
def submit_pledge(request): next = reverse("main:my_vote") user = User.objects.get(fb_uid=request.facebook["uid"]) explicit_share = request.GET.get('explicit_share', None) == 'true' if explicit_share: og_url = opengraph_url(request, settings.FACEBOOK_OG_PLEDGE_ACTION) share = requests.post(og_url, params={ 'vote': settings.BASE_URL + reverse('pledge_object'), 'access_token': request.facebook['access_token'], 'fb:explicitly_shared': 'true', }) print 'Explicit share pledge response: %s' % share.status_code print share.content user = User.objects.get(id=user.id) user.explicit_share = explicit_share user.date_pledged = datetime.now() user.save() showing_message = False join_block = request.GET.get('join_block', None) == 'true' if join_block: block = _voting_block_from_session(request.session) if not VotingBlockMember.objects.filter( member=user, voting_block_id=block.pk).exists(): showing_message = True messages.add_message( request, messages.INFO, _voting_block_join_message(block)) try: VotingBlockMember.objects.create( member=user, voting_block_id=block.pk, joined=datetime.now()) except IntegrityError: pass next = reverse("main:voting_blocks_item", args=[block.pk,]) update_friends_of.delay(user.id) if not showing_message: messages.add_message( request, messages.INFO, # Translators: message displayed to users in green bar when they pledge to vote _("Thank you for pledging to vote!")) return {"next": next}
def my_vote_vote(request): user = User.objects.get(fb_uid=request.facebook["uid"]) after = request.session.get('after', None) if request.method == 'GET': return render_to_response("my_vote_vote.html", { 'page': 'my_vote', 'section': 'vote', 'user': user, }, context_instance=RequestContext(request)) elif request.method == 'POST': if 'yes' in request.POST: explicit_share = request.POST.get('tell-friends', '') == 'on' if explicit_share: og_url = opengraph_url(request, settings.FACEBOOK_OG_VOTE_ACTION) share = requests.post(og_url, params={ 'election_obj': settings.BASE_URL + reverse('vote_object'), 'access_token': request.facebook['access_token'], 'fb:explicitly_shared': 'true', }) print 'Explicit share vote response: %s' % share.status_code print share.content user.explicit_share_vote = explicit_share user.date_voted = datetime.now() try: friendships = Friendship.objects.filter(fb_uid=user.fb_uid) for friendship in friendships: friendship.date_voted = datetime.now() friendship.save() except Friendship.DoesNotExist: pass messages.add_message( request, messages.INFO, # Translators: message displayed to users in when they mark themselves as having voted. _("Your voice was heard! Make sure your friends' voices are also heard:" )) if after: redirect_view = after else: redirect_view = 'main:invite_friends_2' else: user.date_voted = None messages.add_message( request, messages.INFO, # Translators: message displayed to users in when they mark themselves as not having voted. _("Got it, you haven't voted yet. Don't forget!")) if after: redirect_view = after else: redirect_view = 'main:invite_friends_2' user.save() update_friends_of.delay(user.id) return redirect(redirect_view)