This builds on #60, and should only be merged after that. This is a bit of a work-in-progress, so this branch may get rebased on occasionally.
The REST API changes a little here, as what used to be GET people/:id/ballot is now GET siteselect/:id/ballot, and it no longer requires that a token has been purchased (this is the endpoint that returns a form-filled PDF ballot). Site-selection admins may now also fetch a member's ballot.
In order for the (newly added) tests to pass consistently, the reset_test_users() postgres function now also sets the site-select@example.com user's key.
There are a couple of integration points for site-selection actions that are not included in this module (token generation, transactional email contents, /config/siteselection). Not sure whether those should be pulled in here as well, and if so, how exactly.
This builds on #60, and should only be merged after that. This is a bit of a work-in-progress, so this branch may get rebased on occasionally.
The REST API changes a little here, as what used to be
GET people/:id/ballot
is nowGET siteselect/:id/ballot
, and it no longer requires that a token has been purchased (this is the endpoint that returns a form-filled PDF ballot). Site-selection admins may now also fetch a member's ballot.In order for the (newly added) tests to pass consistently, the
reset_test_users()
postgres function now also sets thesite-select@example.com
user's key.There are a couple of integration points for site-selection actions that are not included in this module (token generation, transactional email contents,
/config/siteselection
). Not sure whether those should be pulled in here as well, and if so, how exactly.