Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Helios Server
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TO
Helios Server
Commits
03ecf2b7
Commit
03ecf2b7
authored
11 years ago
by
Ben Adida
Browse files
Options
Downloads
Patches
Plain Diff
more ssl urls
parent
f6f19110
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
helios/views.py
+36
-36
36 additions, 36 deletions
helios/views.py
with
36 additions
and
36 deletions
helios/views.py
+
36
−
36
View file @
03ecf2b7
...
@@ -125,7 +125,7 @@ def election_single_ballot_verifier(request):
...
@@ -125,7 +125,7 @@ def election_single_ballot_verifier(request):
def
election_shortcut
(
request
,
election_short_name
):
def
election_shortcut
(
request
,
election_short_name
):
election
=
Election
.
get_by_short_name
(
election_short_name
)
election
=
Election
.
get_by_short_name
(
election_short_name
)
if
election
:
if
election
:
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
else
:
else
:
raise
Http404
raise
Http404
...
@@ -217,7 +217,7 @@ def election_new(request):
...
@@ -217,7 +217,7 @@ def election_new(request):
# add Helios as a trustee by default
# add Helios as a trustee by default
election
.
generate_trustee
(
ELGAMAL_PARAMS
)
election
.
generate_trustee
(
ELGAMAL_PARAMS
)
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
else
:
else
:
error
=
"
An election with short name %s already exists
"
%
election_params
[
'
short_name
'
]
error
=
"
An election with short name %s already exists
"
%
election_params
[
'
short_name
'
]
else
:
else
:
...
@@ -247,7 +247,7 @@ def one_election_edit(request, election):
...
@@ -247,7 +247,7 @@ def one_election_edit(request, election):
election
.
save
()
election
.
save
()
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
render_template
(
request
,
"
election_edit
"
,
{
'
election_form
'
:
election_form
,
'
election
'
:
election
,
'
error
'
:
error
})
return
render_template
(
request
,
"
election_edit
"
,
{
'
election_form
'
:
election_form
,
'
election
'
:
election
,
'
error
'
:
error
})
...
@@ -339,13 +339,13 @@ def test_cookie(request):
...
@@ -339,13 +339,13 @@ def test_cookie(request):
continue_url
=
request
.
GET
[
'
continue_url
'
]
continue_url
=
request
.
GET
[
'
continue_url
'
]
request
.
session
.
set_test_cookie
()
request
.
session
.
set_test_cookie
()
next_url
=
"
%s?%s
"
%
(
reverse
(
test_cookie_2
),
urllib
.
urlencode
({
'
continue_url
'
:
continue_url
}))
next_url
=
"
%s?%s
"
%
(
reverse
(
test_cookie_2
),
urllib
.
urlencode
({
'
continue_url
'
:
continue_url
}))
return
HttpResponseRedirect
(
next_url
)
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
next_url
)
def
test_cookie_2
(
request
):
def
test_cookie_2
(
request
):
continue_url
=
request
.
GET
[
'
continue_url
'
]
continue_url
=
request
.
GET
[
'
continue_url
'
]
if
not
request
.
session
.
test_cookie_worked
():
if
not
request
.
session
.
test_cookie_worked
():
return
HttpResponseRedirect
(
"
%s?%s
"
%
(
reverse
(
nocookies
),
urllib
.
urlencode
({
'
continue_url
'
:
continue_url
})))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
(
"
%s?%s
"
%
(
reverse
(
nocookies
),
urllib
.
urlencode
({
'
continue_url
'
:
continue_url
})))
)
request
.
session
.
delete_test_cookie
()
request
.
session
.
delete_test_cookie
()
return
HttpResponseRedirect
(
continue_url
)
return
HttpResponseRedirect
(
continue_url
)
...
@@ -392,7 +392,7 @@ def new_trustee(request, election):
...
@@ -392,7 +392,7 @@ def new_trustee(request, election):
trustee
=
Trustee
(
uuid
=
str
(
uuid
.
uuid1
()),
election
=
election
,
name
=
name
,
email
=
email
)
trustee
=
Trustee
(
uuid
=
str
(
uuid
.
uuid1
()),
election
=
election
,
name
=
name
,
email
=
email
)
trustee
.
save
()
trustee
.
save
()
return
HttpResponseRedirect
(
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
@election_admin
(
frozen
=
False
)
@election_admin
(
frozen
=
False
)
def
new_trustee_helios
(
request
,
election
):
def
new_trustee_helios
(
request
,
election
):
...
@@ -400,13 +400,13 @@ def new_trustee_helios(request, election):
...
@@ -400,13 +400,13 @@ def new_trustee_helios(request, election):
Make Helios a trustee of the election
Make Helios a trustee of the election
"""
"""
election
.
generate_trustee
(
ELGAMAL_PARAMS
)
election
.
generate_trustee
(
ELGAMAL_PARAMS
)
return
HttpResponseRedirect
(
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
@election_admin
(
frozen
=
False
)
@election_admin
(
frozen
=
False
)
def
delete_trustee
(
request
,
election
):
def
delete_trustee
(
request
,
election
):
trustee
=
Trustee
.
get_by_election_and_uuid
(
election
,
request
.
GET
[
'
uuid
'
])
trustee
=
Trustee
.
get_by_election_and_uuid
(
election
,
request
.
GET
[
'
uuid
'
])
trustee
.
delete
()
trustee
.
delete
()
return
HttpResponseRedirect
(
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
def
trustee_login
(
request
,
election_short_name
,
trustee_email
,
trustee_secret
):
def
trustee_login
(
request
,
election_short_name
,
trustee_email
,
trustee_secret
):
election
=
Election
.
get_by_short_name
(
election_short_name
)
election
=
Election
.
get_by_short_name
(
election_short_name
)
...
@@ -416,7 +416,7 @@ def trustee_login(request, election_short_name, trustee_email, trustee_secret):
...
@@ -416,7 +416,7 @@ def trustee_login(request, election_short_name, trustee_email, trustee_secret):
if
trustee
:
if
trustee
:
if
trustee
.
secret
==
trustee_secret
:
if
trustee
.
secret
==
trustee_secret
:
set_logged_in_trustee
(
request
,
trustee
)
set_logged_in_trustee
(
request
,
trustee
)
return
HttpResponseRedirect
(
reverse
(
trustee_home
,
args
=
[
election
.
uuid
,
trustee
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
trustee_home
,
args
=
[
election
.
uuid
,
trustee
.
uuid
]))
else
:
else
:
# bad secret, we'll let that redirect to the front page
# bad secret, we'll let that redirect to the front page
pass
pass
...
@@ -424,7 +424,7 @@ def trustee_login(request, election_short_name, trustee_email, trustee_secret):
...
@@ -424,7 +424,7 @@ def trustee_login(request, election_short_name, trustee_email, trustee_secret):
# no such trustee
# no such trustee
raise
Http404
raise
Http404
return
HttpResponseRedirect
(
"
/
"
)
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
"
/
"
)
@election_admin
()
@election_admin
()
def
trustee_send_url
(
request
,
election
,
trustee_uuid
):
def
trustee_send_url
(
request
,
election
,
trustee_uuid
):
...
@@ -447,7 +447,7 @@ Helios
...
@@ -447,7 +447,7 @@ Helios
send_mail
(
'
your trustee homepage for %s
'
%
election
.
name
,
body
,
settings
.
SERVER_EMAIL
,
[
"
%s <%s>
"
%
(
trustee
.
name
,
trustee
.
email
)],
fail_silently
=
True
)
send_mail
(
'
your trustee homepage for %s
'
%
election
.
name
,
body
,
settings
.
SERVER_EMAIL
,
[
"
%s <%s>
"
%
(
trustee
.
name
,
trustee
.
email
)],
fail_silently
=
True
)
logging
.
info
(
"
URL %s
"
%
url
)
logging
.
info
(
"
URL %s
"
%
url
)
return
HttpResponseRedirect
(
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
list_trustees_view
,
args
=
[
election
.
uuid
]))
@trustee_check
@trustee_check
def
trustee_home
(
request
,
election
,
trustee
):
def
trustee_home
(
request
,
election
,
trustee
):
...
@@ -480,7 +480,7 @@ def trustee_upload_pk(request, election, trustee):
...
@@ -480,7 +480,7 @@ def trustee_upload_pk(request, election, trustee):
# oh well, no message sent
# oh well, no message sent
pass
pass
return
HttpResponseRedirect
(
reverse
(
trustee_home
,
args
=
[
election
.
uuid
,
trustee
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
trustee_home
,
args
=
[
election
.
uuid
,
trustee
.
uuid
]))
##
##
## Ballot Management
## Ballot Management
...
@@ -528,7 +528,7 @@ def one_election_cast(request, election):
...
@@ -528,7 +528,7 @@ def one_election_cast(request, election):
on a GET, this is a cancellation, on a POST it
'
s a cast
on a GET, this is a cancellation, on a POST it
'
s a cast
"""
"""
if
request
.
method
==
"
GET
"
:
if
request
.
method
==
"
GET
"
:
return
HttpResponseRedirect
(
"
%s%s
"
%
(
settings
.
URL_HOST
,
reverse
(
one_election_view
,
args
=
[
election
.
uuid
])))
return
HttpResponseRedirect
(
"
%s%s
"
%
(
settings
.
SECURE_
URL_HOST
,
reverse
(
one_election_view
,
args
=
[
election
.
uuid
])))
user
=
get_user
(
request
)
user
=
get_user
(
request
)
encrypted_vote
=
request
.
POST
[
'
encrypted_vote
'
]
encrypted_vote
=
request
.
POST
[
'
encrypted_vote
'
]
...
@@ -551,7 +551,7 @@ def password_voter_login(request, election):
...
@@ -551,7 +551,7 @@ def password_voter_login(request, election):
# if user logged in somehow in the interim, e.g. using the login link for administration,
# if user logged in somehow in the interim, e.g. using the login link for administration,
# then go!
# then go!
if
user_can_see_election
(
request
,
election
):
if
user_can_see_election
(
request
,
election
):
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
password_login_form
=
forms
.
VoterPasswordForm
()
password_login_form
=
forms
.
VoterPasswordForm
()
return
render_template
(
request
,
'
password_voter_login
'
,
return
render_template
(
request
,
'
password_voter_login
'
,
...
@@ -589,9 +589,9 @@ def password_voter_login(request, election):
...
@@ -589,9 +589,9 @@ def password_voter_login(request, election):
'
return_url
'
:
return_url
'
return_url
'
:
return_url
})
})
return
HttpResponseRedirect
(
redirect_url
)
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
redirect_url
)
return
HttpResponseRedirect
(
return_url
)
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
return_url
)
@election_view
(
frozen
=
True
)
@election_view
(
frozen
=
True
)
def
one_election_cast_confirm
(
request
,
election
):
def
one_election_cast_confirm
(
request
,
election
):
...
@@ -693,7 +693,7 @@ def one_election_cast_confirm(request, election):
...
@@ -693,7 +693,7 @@ def one_election_cast_confirm(request, election):
# if user is not logged in
# if user is not logged in
# bring back to the confirmation page to let him know
# bring back to the confirmation page to let him know
if
not
voter
:
if
not
voter
:
return
HttpResponseRedirect
(
reverse
(
one_election_cast_confirm
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_cast_confirm
,
args
=
[
election
.
uuid
]))
# don't store the vote in the voter's data structure until verification
# don't store the vote in the voter's data structure until verification
cast_vote
.
save
()
cast_vote
.
save
()
...
@@ -854,7 +854,7 @@ def voter_delete(request, election, voter_uuid):
...
@@ -854,7 +854,7 @@ def voter_delete(request, election, voter_uuid):
# log it
# log it
election
.
append_log
(
"
Voter %s/%s removed after election frozen
"
%
(
voter
.
voter_type
,
voter
.
voter_id
))
election
.
append_log
(
"
Voter %s/%s removed after election frozen
"
%
(
voter
.
voter_type
,
voter
.
voter_id
))
return
HttpResponseRedirect
(
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
@election_admin
(
frozen
=
False
)
@election_admin
(
frozen
=
False
)
def
one_election_set_reg
(
request
,
election
):
def
one_election_set_reg
(
request
,
election
):
...
@@ -867,7 +867,7 @@ def one_election_set_reg(request, election):
...
@@ -867,7 +867,7 @@ def one_election_set_reg(request, election):
election
.
openreg
=
open_p
election
.
openreg
=
open_p
election
.
save
()
election
.
save
()
return
HttpResponseRedirect
(
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
@election_admin
()
@election_admin
()
def
one_election_set_featured
(
request
,
election
):
def
one_election_set_featured
(
request
,
election
):
...
@@ -883,7 +883,7 @@ def one_election_set_featured(request, election):
...
@@ -883,7 +883,7 @@ def one_election_set_featured(request, election):
election
.
featured_p
=
featured_p
election
.
featured_p
=
featured_p
election
.
save
()
election
.
save
()
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
@election_admin
()
@election_admin
()
def
one_election_archive
(
request
,
election
):
def
one_election_archive
(
request
,
election
):
...
@@ -897,7 +897,7 @@ def one_election_archive(request, election):
...
@@ -897,7 +897,7 @@ def one_election_archive(request, election):
election
.
save
()
election
.
save
()
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
# changed from admin to view because
# changed from admin to view because
# anyone can see the questions, the administration aspect is now
# anyone can see the questions, the administration aspect is now
...
@@ -936,7 +936,7 @@ def one_election_register(request, election):
...
@@ -936,7 +936,7 @@ def one_election_register(request, election):
if
not
voter
:
if
not
voter
:
voter
=
_register_voter
(
election
,
user
)
voter
=
_register_voter
(
election
,
user
)
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
@election_admin
(
frozen
=
False
)
@election_admin
(
frozen
=
False
)
def
one_election_save_questions
(
request
,
election
):
def
one_election_save_questions
(
request
,
election
):
...
@@ -962,7 +962,7 @@ def one_election_freeze(request, election):
...
@@ -962,7 +962,7 @@ def one_election_freeze(request, election):
election
.
freeze
()
election
.
freeze
()
if
get_user
(
request
):
if
get_user
(
request
):
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
else
:
else
:
return
SUCCESS
return
SUCCESS
...
@@ -978,7 +978,7 @@ def one_election_compute_tally(request, election):
...
@@ -978,7 +978,7 @@ def one_election_compute_tally(request, election):
tallying is done all at a time now
tallying is done all at a time now
"""
"""
if
not
_check_election_tally_type
(
election
):
if
not
_check_election_tally_type
(
election
):
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
election_id
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
election_id
]))
if
request
.
method
==
"
GET
"
:
if
request
.
method
==
"
GET
"
:
return
render_template
(
request
,
'
election_compute_tally
'
,
{
'
election
'
:
election
})
return
render_template
(
request
,
'
election_compute_tally
'
,
{
'
election
'
:
election
})
...
@@ -993,12 +993,12 @@ def one_election_compute_tally(request, election):
...
@@ -993,12 +993,12 @@ def one_election_compute_tally(request, election):
tasks
.
election_compute_tally
.
delay
(
election_id
=
election
.
id
)
tasks
.
election_compute_tally
.
delay
(
election_id
=
election
.
id
)
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
@trustee_check
@trustee_check
def
trustee_decrypt_and_prove
(
request
,
election
,
trustee
):
def
trustee_decrypt_and_prove
(
request
,
election
,
trustee
):
if
not
_check_election_tally_type
(
election
)
or
election
.
encrypted_tally
==
None
:
if
not
_check_election_tally_type
(
election
)
or
election
.
encrypted_tally
==
None
:
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
render_template
(
request
,
'
trustee_decrypt_and_prove
'
,
{
'
election
'
:
election
,
'
trustee
'
:
trustee
})
return
render_template
(
request
,
'
trustee_decrypt_and_prove
'
,
{
'
election
'
:
election
,
'
trustee
'
:
trustee
})
...
@@ -1045,7 +1045,7 @@ def combine_decryptions(request, election):
...
@@ -1045,7 +1045,7 @@ def combine_decryptions(request, election):
election
.
combine_decryptions
()
election
.
combine_decryptions
()
election
.
save
()
election
.
save
()
return
HttpResponseRedirect
(
"
%s?%s
"
%
(
reverse
(
voters_email
,
args
=
[
election
.
uuid
]),
urllib
.
urlencode
({
'
template
'
:
'
result
'
})))
return
HttpResponseRedirect
(
"
%s?%s
"
%
(
settings
.
SECURE_URL_HOST
+
reverse
(
voters_email
,
args
=
[
election
.
uuid
]),
urllib
.
urlencode
({
'
template
'
:
'
result
'
})))
# if just viewing the form or the form is not valid
# if just viewing the form or the form is not valid
return
render_template
(
request
,
'
combine_decryptions
'
,
{
'
election
'
:
election
})
return
render_template
(
request
,
'
combine_decryptions
'
,
{
'
election
'
:
election
})
...
@@ -1053,7 +1053,7 @@ def combine_decryptions(request, election):
...
@@ -1053,7 +1053,7 @@ def combine_decryptions(request, election):
@election_admin
(
frozen
=
True
)
@election_admin
(
frozen
=
True
)
def
one_election_set_result_and_proof
(
request
,
election
):
def
one_election_set_result_and_proof
(
request
,
election
):
if
election
.
tally_type
!=
"
homomorphic
"
or
election
.
encrypted_tally
==
None
:
if
election
.
tally_type
!=
"
homomorphic
"
or
election
.
encrypted_tally
==
None
:
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
election_id
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
election_id
]))
# FIXME: check csrf
# FIXME: check csrf
...
@@ -1062,7 +1062,7 @@ def one_election_set_result_and_proof(request, election):
...
@@ -1062,7 +1062,7 @@ def one_election_set_result_and_proof(request, election):
election
.
save
()
election
.
save
()
if
get_user
(
request
):
if
get_user
(
request
):
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
else
:
else
:
return
SUCCESS
return
SUCCESS
...
@@ -1139,7 +1139,7 @@ def voters_eligibility(request, election):
...
@@ -1139,7 +1139,7 @@ def voters_eligibility(request, election):
# for now, private elections cannot change eligibility
# for now, private elections cannot change eligibility
if
election
.
private_p
:
if
election
.
private_p
:
return
HttpResponseRedirect
(
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
# eligibility
# eligibility
eligibility
=
request
.
POST
[
'
eligibility
'
]
eligibility
=
request
.
POST
[
'
eligibility
'
]
...
@@ -1160,7 +1160,7 @@ def voters_eligibility(request, election):
...
@@ -1160,7 +1160,7 @@ def voters_eligibility(request, election):
election
.
eligibility
=
None
election
.
eligibility
=
None
election
.
save
()
election
.
save
()
return
HttpResponseRedirect
(
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
@election_admin
()
@election_admin
()
def
voters_upload
(
request
,
election
):
def
voters_upload
(
request
,
election
):
...
@@ -1184,7 +1184,7 @@ def voters_upload(request, election):
...
@@ -1184,7 +1184,7 @@ def voters_upload(request, election):
tasks
.
voter_file_process
.
delay
(
voter_file_id
=
request
.
session
[
'
voter_file_id
'
])
tasks
.
voter_file_process
.
delay
(
voter_file_id
=
request
.
session
[
'
voter_file_id
'
])
del
request
.
session
[
'
voter_file_id
'
]
del
request
.
session
[
'
voter_file_id
'
]
return
HttpResponseRedirect
(
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
voters_list_pretty
,
args
=
[
election
.
uuid
]))
else
:
else
:
# we need to confirm
# we need to confirm
if
request
.
FILES
.
has_key
(
'
voters_file
'
):
if
request
.
FILES
.
has_key
(
'
voters_file
'
):
...
@@ -1198,7 +1198,7 @@ def voters_upload(request, election):
...
@@ -1198,7 +1198,7 @@ def voters_upload(request, election):
return
render_template
(
request
,
'
voters_upload_confirm
'
,
{
'
election
'
:
election
,
'
voters
'
:
voters
})
return
render_template
(
request
,
'
voters_upload_confirm
'
,
{
'
election
'
:
election
,
'
voters
'
:
voters
})
else
:
else
:
return
HttpResponseRedirect
(
"
%s?%s
"
%
(
reverse
(
voters_upload
,
args
=
[
election
.
uuid
]),
urllib
.
urlencode
({
'
e
'
:
'
no voter file specified, try again
'
})))
return
HttpResponseRedirect
(
"
%s?%s
"
%
(
settings
.
SECURE_URL_HOST
+
reverse
(
voters_upload
,
args
=
[
election
.
uuid
]),
urllib
.
urlencode
({
'
e
'
:
'
no voter file specified, try again
'
})))
@election_admin
()
@election_admin
()
def
voters_upload_cancel
(
request
,
election
):
def
voters_upload_cancel
(
request
,
election
):
...
@@ -1211,12 +1211,12 @@ def voters_upload_cancel(request, election):
...
@@ -1211,12 +1211,12 @@ def voters_upload_cancel(request, election):
vf
.
delete
()
vf
.
delete
()
del
request
.
session
[
'
voter_file_id
'
]
del
request
.
session
[
'
voter_file_id
'
]
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
@election_admin
(
frozen
=
True
)
@election_admin
(
frozen
=
True
)
def
voters_email
(
request
,
election
):
def
voters_email
(
request
,
election
):
if
not
helios
.
VOTERS_EMAIL
:
if
not
helios
.
VOTERS_EMAIL
:
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
TEMPLATES
=
[
TEMPLATES
=
[
(
'
vote
'
,
'
Time to Vote
'
),
(
'
vote
'
,
'
Time to Vote
'
),
(
'
info
'
,
'
Additional Info
'
),
(
'
info
'
,
'
Additional Info
'
),
...
@@ -1292,7 +1292,7 @@ def voters_email(request, election):
...
@@ -1292,7 +1292,7 @@ def voters_email(request, election):
tasks
.
voters_email
.
delay
(
election_id
=
election
.
id
,
subject_template
=
subject_template
,
body_template
=
body_template
,
extra_vars
=
extra_vars
,
voter_constraints_include
=
voter_constraints_include
,
voter_constraints_exclude
=
voter_constraints_exclude
)
tasks
.
voters_email
.
delay
(
election_id
=
election
.
id
,
subject_template
=
subject_template
,
body_template
=
body_template
,
extra_vars
=
extra_vars
,
voter_constraints_include
=
voter_constraints_include
,
voter_constraints_exclude
=
voter_constraints_exclude
)
# this batch process is all async, so we can return a nice note
# this batch process is all async, so we can return a nice note
return
HttpResponseRedirect
(
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
HttpResponseRedirect
(
settings
.
SECURE_URL_HOST
+
reverse
(
one_election_view
,
args
=
[
election
.
uuid
]))
return
render_template
(
request
,
"
voters_email
"
,
{
return
render_template
(
request
,
"
voters_email
"
,
{
'
email_form
'
:
email_form
,
'
election
'
:
election
,
'
email_form
'
:
email_form
,
'
election
'
:
election
,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment