-
Notifications
You must be signed in to change notification settings - Fork 279
Add category types and allow teams to be in more than one category #3043
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
4b3e640 to
ed306f7
Compare
80b7c0b to
6953f19
Compare
6953f19 to
eb673ff
Compare
eb673ff to
4c7001d
Compare
| SQL); | ||
|
|
||
| // Now update the types for existing categories based on whether the color is set | ||
| $this->addSql('UPDATE team_category SET types = 7 WHERE color IS NOT NULL'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: add a comment what 7 and 5 mean?
| * @var array<int, string> | ||
| */ | ||
| public const TYPES_TO_HUMAN_STRING = [ | ||
| self::TYPE_SCORING => 'Scoring', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does Scoring mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That it's used for the scoreboard, i.e. that is what makes sort order required / useful. Each team can be in at most one scoring category as to only have one order on the scoreboard
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That it's used for the scoreboard, i.e. that is what makes sort order required / useful. Each team can be in at most one scoring category as to only have one order on the scoreboard
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can be in at most one, or does have to be exactly one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will double check, I thought at most (and if 0 they won't appear on the scoreboard)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will double check, I thought at most (and if 0 they won't appear on the scoreboard)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
won't appear on the scoreboard could be super confusing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you suggest to make it 'exactly 1'?
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_TOPtype.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.