ryanakca/cevote
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
This program is licensed under the AGPL version 3, see file headers and the
AGPL-3.0 file for details.
The SelectCandidateWidget is an AGPLv3 derivative of Django's
SelectCheckboxMultiple, which was originally licensed under a BSD-style license.
See the header of vote/SelectCandidateWidget.py for details.
To install with symbolic links:
1. Symbolic link to the contents of vote/media, from the root of your MEDIA_DIR.
2. Symbolic link to the contents of vote/templates, from the root of your
TEMPLATE_DIR
3. Follow the GenericInstall instructions below.
To install by copying:
1. Copy the contents of vote/media/ to the root of your MEDIA_DIR.
2. Copy the contents of vote/templates/ to the root of your TEMPLATE_DIR
3. Follow the GenericInstall instructions below.
GenericInstall instructions:
1. Precede with ``To install with symbolic links'' or ``To install by
copying''.
2. Add the following line to urlpatterns in your site's urls.py:
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
3. Add the following line to urlpatterns in your site's urls.py:
(r'^admin/vote/results/', 'cevote.vote.admin_views.results'),
making sure it precedes the following:
(r'^admin/(.*)', admin.site.root),
4. Add 'from vote.settings import *' to your site's settings.py . See comments
in vote.settings for vote settings documentation.
5. To compile translations, run the following command from the vote
application's directory:
django-admin.py compilemessages
6. To compile API documentation, run epydoc on the vote package.
Howto use:
1. Install and configure the vote application and enable the admin interface
if it has not already been done.
From the admin interface:
2. Create voting groups. Since this application was written mainly for Student
council elections, groups represent groups of students who can vote for a
certain position. Example, only Grade 10, 11 and 12 students (``Grade
10--12'' Group) can vote for the ``Grade 10--12 representative'' position.
3. Create positions, filling in the requested information and selecting the
groups that may for for the created positions.
4. Create candidates for each position. You may optionally upload a picture.
5. Create the desired amount of voters in each group and print the list of
created voters.
On election day:
6. Have the voters queue. Once they have supplied credentials, randomly select
a UUID from the UUIDs created for their group and direct them to logon to
the UUID login page ('http://123.456.789.012/vote/' by default) and to
select their candidates. Inform them that they must thoroughly ensure that
they have correctly selected their choices before submitting since it is
impossible to uncast a vote.
After the elections:
7. You may view the election results at any time by visiting
/admin/vote/results/ .