Commit Graph

27 Commits

Author SHA1 Message Date
Rumperuu 08b5985396 ajg 2018-09-19 08:38:50 +01:00
vince0656 bd9c35102e The generic functionality of the event_vote page has been replicated in the sense that if access is denied to event_setup or event_decrypt, a client is not directed to a page that they don't have access to. Instead, they're kept on the same page and are told why access to that page has been denied. Furthermore, the POSTing of data to the back-end on both of these updated page is now done using Ajax requests where dialogs update the user rather than redirecting to a page the user doesn't have access to. 2018-09-05 11:46:57 +01:00
vince0656 da74180884 Public Keys and Secret Keys for Trustees are now Base64 encoded. I've tested this against 1 trustee and multiple trustees. 2018-09-04 15:21:31 +01:00
vince0656 25a7f72160 Updated various parts of the application to improve usability. Started laying some of the ground work for a bulletin board. Added informative emails that keep voters, trustees and organisers updated with the state of an event. 2018-09-03 15:39:42 +01:00
vince0656 a168ba9e28 Fixed a number of bugs that arose from merging the code from Bens fork. Added an extra step when voting which asks the user to confirm their voting choices. The voter now gets an email when they've successfully submitted thier vote. 2018-08-31 19:39:12 +01:00
Vincent ac38a58a38
Merge branch 'master' into master 2018-08-29 17:58:29 +01:00
Rumperuu de517c19c5 Ready for merge 2018-08-29 14:44:37 +01:00
Rumperuu 9ea59723a5 I really ought to be using branches 2018-08-29 14:29:27 +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
Rumperuu 77508479b4 Added QR codes to ballot selection, and a couple other minor chchanges 2018-07-23 14:08:17 +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