Skip to content

Stuff to change every year

mgale456 edited this page Apr 23, 2020 · 4 revisions

Change team data:

make a new TeamData.csv with at least these columns (can be done with a join, or manually):

  1. Name - team name
  2. School - team's school
  3. Abbr - team name abbreviation
  4. Email - captain's email
  5. Captain Name - captain's name

This gives us the necessary data to create the teams and a user for each team. Passwords for the users are randomly generated and can be emailed to the team captains upon initialization of the database. Passwords are not saved, and cannot be accessed to send out again, but password reset functionality is available through email.

Change Scoring Types in the Database

Can be done two ways:

  1. Manually add them through the Django admin site url: /admin/. This is easiest, but the data will disappear if you remove the docker volume. This is not good if you are making any changes or doing any development, since you may have to remigrate the db.
  2. Update the migration file: team_management/migrations/team_management/0002.....py This is the best option, since the data is stored in a persistent file.
Anything that is scored must be in here, regardless of whether or not it belongs on the judging screen.

Change Judging Page Layout

edit team_management/templates/team_management/GameX.html and team_management/views.py. views.py sends lists of model objects, which act like dictionaries, to the template renderer to insert into the html. Using input_style in the ScoringType model, you can have views.py query different things in different groups. Then you can copy/paste different sections of GameX.html to insert those groups into.

Also remove any superfluous html from the page, like the Potion Recipes from 2020.

Implement non-linear scoring

This is triggered by having value = 0 for the ScoringType

edit team_management/models.py under GameParticipant edit switcher and add def <name of scoringType>. I recommend following the format of brewPotion from 2020. For each time they score, it calculates what it is worth with a simple formula, and then multiplies it by the multiplier. You can get more complicated with if statements or anything you want.

Clone this wiki locally