TabbycatDebate / tabbycat

Debating tournament tabulation software for British Parliamentary and a variety of two-team parliamentary formats
https://tabbycat.readthedocs.io/
GNU Affero General Public License v3.0
242 stars 806 forks source link

Create reserve team slots for breaks #2474

Open tienne-B opened 2 months ago

tienne-B commented 2 months ago

A new practice is to announce a couple teams that have not broken, but are asked to show up as reserve teams if a higher-breaking team does not show up. We should support adding reserves in the break.

teymour-aldridge commented 1 week ago

I would be interested in implementing this. In terms of database models would it be best to add a reserve boolean flag (such that if reserve=True then rank refers to the reserve position, i.e. rank=1 is the first reserve team, etc)?

https://github.com/tabbycatdebate/tabbycat/blob/b234434e814582bedefa2c92b6c221844a601a92/tabbycat/breakqual/models.py#L78

tienne-B commented 1 week ago

I don't think we'd even need a new DB field (but if you choose to go with a new reserve field, the rank numbering should not restart). Could add a preference for number of reserve teams, and then in the break generator create extra BreakingTeam objects for the next n teams. Then, as the break category size is smaller, the rounds should be generated with just that number of teams. Could even have a break remark called "Reserve."

One thing to be cautious would be to make sure the reserve teams remain eligible for other breaks, if they'd have qualified.