Currently, the account registration form only accepts input for a single user. An implementation of multiuser registration exists in the codebase (src/register/views.py, src/register/templates/register/group_register_form.html ) but generates a key error upon form save. Group signup would be particularly useful for walk-in users/groups on contest day.
The PCS currently treats all contest teams as affiliates of FSU. A team's organization affiliation appears as an attribute in the DOMjudge scoreboard. Implementing support by allowing registrants to select an institution affiliation during team creation will enable future contests to cater to a wider audience.
Changes
Create a Schools model to represent an institution
Attrs:
name: ex. Florida State University
short_name: ex. FSU
country: Country code in ISO 3166-1 alpha-3 format
Update django-import-export settings to enable School data to be uploaded within Django admin
Add a school attribute to the Team model
Foreign key relationship with School model
Update Team creation form (src/register/forms.py) to allow user to select a school
Update the DOMjudge file creation Celery task (src/contestadmin/tasks.py) to use Team.school as a team's affiliation
name, short_name, country
The current implementation uses a hardcoded values of Florida State University, FSU, USA
Once contest results have been uploaded to the database, update the public teams tables to mark the 1st, 2nd, and 3rd place finishers in each division.