Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
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/ .