def one_election_view(request, election): user = get_user(request) admin_p = security.user_can_admin_election(user, election) can_feature_p = security.user_can_feature_election(user, election) notregistered = False eligible_p = True election_url = get_election_url(election) status_update_message = None vote_url = "%s/booth/vote.html?%s" % (settings.SECURE_URL_HOST, urllib.urlencode({'election_url' : reverse(one_election, args=[election.uuid])})) test_cookie_url = "%s?%s" % (reverse(test_cookie), urllib.urlencode({'continue_url' : vote_url})) if user: voter = Voter.get_by_election_and_user(election, user) if voter: # cast any votes? votes = CastVote.get_by_voter(voter) else: eligible_p = _check_eligibility(election, user) votes = None notregistered = True else: voter = None votes = None # status update message? if election.openreg: if election.voting_has_started: status_update_message = u"Vote in %s" % election.name else: status_update_message = u"Register to vote in %s" % election.name # result! if election.result: status_update_message = u"Results are in for %s" % election.name # a URL for the social buttons socialbuttons_url = None if status_update_message: socialbuttons_url = "%s%s?%s" % (settings.SOCIALBUTTONS_URL_HOST, reverse(socialbuttons), urllib.urlencode({ 'url' : election_url, 'text': status_update_message.encode('utf-8') })) trustees = Trustee.get_by_election(election) return render_template(request, 'election_view', {'election' : election, 'trustees': trustees, 'admin_p': admin_p, 'user': user, 'voter': voter, 'votes': votes, 'notregistered': notregistered, 'eligible_p': eligible_p, 'can_feature_p': can_feature_p, 'election_url' : election_url, 'vote_url': vote_url, 'test_cookie_url': test_cookie_url, 'socialbuttons_url' : socialbuttons_url})
def one_election_set_featured(request, election): """ Set whether this is a featured election or not """ user = get_user(request) if not security.user_can_feature_election(user, election): raise PermissionDenied() featured_p = bool(int(request.GET['featured_p'])) election.featured_p = featured_p election.save() return HttpResponseRedirect(reverse(one_election_view, args=[election.uuid]))