Skip to content
Snippets Groups Projects
Commit cb7e7a4d authored by Ben Adida's avatar Ben Adida
Browse files

removed dead code

parent 468d93ac
Branches
No related tags found
No related merge requests found
...@@ -6,7 +6,4 @@ from views import * ...@@ -6,7 +6,4 @@ from views import *
urlpatterns = patterns('', urlpatterns = patterns('',
(r'^$', home), (r'^$', home),
(r'^about$', about), (r'^about$', about),
(r'^cast$', cast),
(r'^confirm$', cast_confirm),
(r'^done$', cast_done),
) )
...@@ -56,77 +56,3 @@ def home(request): ...@@ -56,77 +56,3 @@ def home(request):
def about(request): def about(request):
return HttpResponse(request, "about") return HttpResponse(request, "about")
def cast(request):
encrypted_vote = request.POST['encrypted_vote']
request.session['encrypted_vote'] = encrypted_vote
return HttpResponseRedirect(reverse(cast_confirm))
# the form for password login
from auth.auth_systems.password import LoginForm, password_check
def cast_confirm(request):
election = get_election()
if not election.frozen_at or election.result:
return HttpResponse("election is not ready or already done")
# tallied election, no vote casting
if election.encrypted_tally or election.result:
return render_template(request, 'election_tallied', {'election': election})
encrypted_vote = request.session['encrypted_vote']
vote_fingerprint = cryptoutils.hash_b64(encrypted_vote)
error = None
if request.method == "GET":
form = LoginForm()
else:
form = LoginForm(request.POST)
check_csrf(request)
if form.is_valid():
user = User.get_by_type_and_id('password', form.cleaned_data['username'])
if password_check(user, form.cleaned_data['password']):
# cast the actual vote
voter = Voter.get_by_election_and_user(election, user)
if not voter:
return HttpResponse("problem, you are not registered for this election")
# prepare the vote to cast
cast_vote_params = {
'vote' : electionalgs.EncryptedVote.fromJSONDict(utils.from_json(encrypted_vote)),
'voter' : voter,
'vote_hash': vote_fingerprint,
'cast_at': datetime.datetime.utcnow(),
'election': election
}
cast_vote = CastVote(**cast_vote_params)
# verify the vote
if cast_vote.vote.verify(election):
# store it
voter.store_vote(cast_vote)
else:
return HttpResponse("vote does not verify: " + utils.to_json(cast_vote.vote.toJSONDict()))
# remove the vote from the store
del request.session['encrypted_vote']
return HttpResponseRedirect(reverse(cast_done) + '?email=' + voter.voter_id)
else:
error = 'Bad Username or Password'
return render_template(request, "confirm", {'election': election, 'vote_fingerprint': vote_fingerprint, 'error': error, 'form': form})
def cast_done(request):
email = request.GET['email']
election = get_election()
user = User.get_by_type_and_id('password', email)
voter = Voter.get_by_election_and_user(election, user)
past_votes = CastVote.get_by_election_and_voter(election, voter)
return render_template(request, 'done', {'election': election, 'past_votes' : past_votes, 'voter': voter})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment