function in the config editor to one that checks where ALL variables marked
with year=-1 exist for FAIRYEAR. If it doesn't, it creates them. This
function gets called in three places:
- On installation
- On rollover
- Whenever the database is updated
We should, now, be able to just insert new variables with year=-1, and they
will be automatically updated for the current year with the default value.
(no more going into the variable editor to make sure the copy is done).
- Fix the superuser account creation in the install script
should contain. If the config doesn't find those variables for the current
year, they are automatically copied in from year=-1. This means that
we can update a database and add new config variables and not have to manually
add each variable to the current year. It also means someone can't mess
up the system and accidentally delete config variables, because they
will be recreated.
- Missing: Having a project judged more than once by different judging teams is
untested, I don't htink it'll work properly, still working on that part.
- Missing: Auto updating the configuration if any of the variables are missing.
- Missing: A way to preserve judging questions (like willing_chair), so the
user doesn't delete them and break the scheduler, OR, notice saying that the
question has been deleted and the scheduler won't use the chair calculations,
then we need a way to add them back in with the click of a button.
Separate the 'requirement check' into a separate file and run it on both the config page, and as a double check on the actual annealer page incase they decide to manually type in the address or bookmark or somkething.
Create scheduler configuration page to handle setup parameters for the automatic judge team assignments
Create the annealer to handle the actual assignments of judges to judging teams based on the lowest cost function of each individual team. Currently takes into account: a) age category preference, b) divisional areas of expertise. still requires: years of experience, language preference, and 'team captain' scheduling.