Add category types and allow teams to be in more than one category #3043
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes #2937
I added validation to make sure each team is in at most one scoring category and a config checker to make sure they are in at least one (since this is not an error but still weird).
There are some minor changes to the scoreboard compared to before:
TYPE_BADGE_TOP
type.I decided that filtering on the scoreboard should be possible with all category types, since I think this makes sense (i.e. one can filter on all teams that advanced to finals before or all teams that didn't).
I also decided that we can have categories without any type. The above mentioned example is a good use case: all teams NOT advancing to finals from EUC could be put in that category, so you can filter on it.
The PR is quite big, since it's quite a lot of changes. I split some of the work up in separate commits, but plan to squash before merging.