Commit graph

19 commits

Author SHA1 Message Date
Vincent
ac38a58a38
Merge branch 'master' into master 2018-08-29 17:58:29 +01:00
vince0656
572600408c Updated polls/models to include a field for storing the ballot selected by the user on the front end. A few bugs have been fixed on the event voting page and new functionality has been added which allows a voter to restart the voting process. 2018-08-22 17:39:41 +01:00
Rumperuu
89533a54b1 Going home 2018-08-16 22:17:16 +01:00
vince0656
33398b9993 Added a new UI feature which now shows all of the event results (once decrypted) in a basic but easy to read table which can be enhanced at a later point 2018-07-17 12:15:24 +01:00
vince0656
d4756bb734 Added ballot choice UI that allows the user to choose between 2 generated ballots whilst showing the ballot's hash. When the user makes their choice, then the ballot is sent to server 2018-07-17 09:57:09 +01:00
vince0656
ff967877cb Made a number of small enhancements. The django-recaptcha fields have been removed from the django forms as they're a dependency nightmare. The module isn't really required and the same functionality can be serviced using HTML and JS and it also paves the way to perform testing with python 3 over python 2.7. The about page has been removed for now as it's not prod ready and all it currently does it mention the software used to build DEMOS2. 2018-07-16 10:16:06 +01:00
vince0656
745fdf06b1 Updated the voting and event decryption pages. On the voting page, added the ability to vote by selecting checkboxes instead of a drop down select menu. This adds flexibility at event creation to specify a wide range of min and max option selections for polls. On the event decryption page, SK validation was added based on the stored trustee PK as well as a dialog to display any validation errors. Most of the updates took place behind the scenes at the backend. 2018-07-13 17:19:35 +01:00
vince0656
5b746ad406 Full end-to-end voting is working using the new binary encoding scheme, ballot combination and trustee partial decryption with tallies working perfectly. This required updating the Node server as well as Django models and views to support this. Emails to voters and trustees have also been updated to be more informative and look more professional. It could probably do at this point with using email templates and in the future HTML emails. 2018-07-11 14:25:36 +01:00
vince0656
e33b91f852 Implemented full end-to-end encryption and decryption of an event using trustee public and secret keys. This required modification of the NodeJS crypto server to receive post data from the crypto_rpc py methods and for combining SKs together. Additionally, the new binary voting encoding scheme has been implemented for encryption and decryption of the event. General UI improvements have been made and as well as some other bug fixes 2018-07-07 09:52:47 +01:00
vince0656
f82a380fa4 General housekeeping such as adding package.json for Node server, bash script for launching a celery worker and updating the readme to assist with launching the DEMOS2 app. Updated some models to include UI helper functions. Main work done is around event preparation - with a Celery worker running and the Node server, trustees are now emailed a link to prepare events. The event detail page has also had a bit of an overhaul to include additional information and to make it easier to use 2018-07-02 10:06:05 +01:00
vince0656
5f32806506 Updated create_event view backend to perform full form validation as a backup in the event the front end validation is incorrect and or is disabled. In the event that the back-end validation detects an error, the form is returned with the original data and errors informing the user on what pieces of information need corrected 2018-06-26 17:02:36 +01:00
vince0656
8210ef6995 Modified the polls view for an event to show not only the list of polls but the options as well as the min and max selections. Updated the updateForm() JS method to update the IDs of the form inputs for each polls so that they're in sync with the poll count. This completes the front-end JS validation and the create event form. 2018-06-20 17:36:22 +01:00
vince0656
7b2ac3ec38 Added delete functionality for events. Additionally, made improvements and fixed to the validation for event creation. 2018-06-19 15:15:42 +01:00
vince0656
1314e3be1a Upgraded the Create Event page and back-end view to handle the creation of multiple polls in one go. The validation has been appropriately updated to cope with the UI changes but requires further testing. Event list has been updated to include a delete action which requires wiring up to a back-end function which hasn't been created yet 2018-06-18 17:09:44 +01:00
vince0656
498b87dba5 Fixed a validation error where the form wouldn't validate after the deletion of a row within any table 2018-06-15 10:09:15 +01:00
vince0656
7fb52678ef Added full input validation to the Create Event including unique event name and slug validation as well as email validation. The appropriate template data required for this from Event and DemoUser model is passed in upon rendering the create_event html template 2018-06-14 17:01:14 +01:00
vince0656
6dcafb2e9a Laid the ground work for client-side input validation by setting up a fn that's triggered before the form is submitted. The vote start and end date time is now being validated both server side and client side and now includes UTC offsets 2018-06-13 13:01:55 +01:00
vince0656
49ed8a3ec9 Updated README to include details on dependency requirements. Updated Create Event page to disable the create button when the reCAPTCHA expires 2018-06-12 14:30:23 +01:00
vince0656
7084bd1b16 Initial commit of DEMOS2 with the upgraded 'Create Event' UI. However, there is no input validation currently 2018-06-12 13:31:38 +01:00