Commit Graph

69 Commits

Author SHA1 Message Date
Daniel Schädler 57aecd7cc5 feat: add third place playoff match 2026-04-22 15:46:48 +02:00
Daniel Schädler 8789c2cb2e Merge origin/master into follower sync 2026-04-16 15:54:32 +02:00
Daniel Schädler 761bb8daea Simplify default beamer handling 2026-04-16 13:02:40 +02:00
Tobias Huber 2ceba1dfcf Merge branch 'master' into TUR-32_backend-beamer 2026-04-16 08:11:02 +02:00
Daniel Schädler 07b7a78bd5 Merge origin/master into follower sync 2026-04-15 16:43:38 +02:00
Daniel Schädler ce7b5c5ac7 Fix match points specs 2026-04-15 11:22:55 +02:00
Daniel Schädler 2d273f067c Optimize tournament render hot path 2026-04-15 09:36:56 +02:00
Daniel Schädler 0ba86c84f0 Clear follower token on takeover 2026-04-14 18:29:30 +02:00
Daniel Schädler bbb1ad97ef Make follower sync asynchronous 2026-04-13 20:54:28 +02:00
Daniel Schädler 133ebae847 Add read-only tournament follower sync 2026-04-13 20:32:34 +02:00
Tobias Huber 85fce7faac add backend beamer 2026-04-13 20:01:48 +02:00
Daniel Schädler 4713a020fa Implement TUR-58 group stage decider matches 2026-04-12 19:13:52 +02:00
Daniel Schädler eedafe1276 Add ranking decision metadata for group scores 2026-04-12 17:47:28 +02:00
Daniel Schädler 7cef4a9b5e Fix group score direct comparison tiebreak 2026-04-12 17:03:33 +02:00
Daniel Schädler 79bafec693 Add advancing teams into tournaments show endpoint 2025-03-09 21:05:41 +01:00
Daniel Schädler 5d857c5d82 Remove position from comparison 2024-04-07 21:40:59 +02:00
Daniel Schädler 4a8cb71fc4 Add and calculate position to sort group_scores by 2024-04-07 21:17:45 +02:00
Daniel Schädler 1084d836c1 Implement sorting correctly with <=> operator 2024-04-07 18:07:55 +02:00
Daniel Schädler c3af6f9232
Rubocop -A 2021-08-15 14:31:50 +02:00
Daniel Schädler 33ccab8988 Return all matches also from groups 2019-10-26 00:32:14 +02:00
Daniel Schädler 77c76b7a31 Add matches method to tournament
The method collects all matches from all stages
2019-10-25 23:47:38 +02:00
Daniel Schädler 4e72d015ff Implement method to check if stage is over 2019-06-18 19:22:05 +02:00
Daniel Schädler c5780c2da3 Implement function to calculate the difference in points 2019-06-18 19:22:05 +02:00
Thor77 6640be1e9a Add devise confirmable to user model 2019-06-18 12:27:00 +02:00
Daniel Schädler 98319e9625 Assign :intermediate_stage to first stage if single_team matches present 2019-06-17 15:02:30 +02:00
Daniel Schädler 36db03293e Return a "winner" for :single_team matches 2019-06-17 15:02:30 +02:00
Thor77 f3431e8442
Add bet model
* has_many relations in all belonging models
* specs for relations in existing models
* association specs for bet model
2019-06-17 13:48:49 +02:00
Daniel Schädler 2e336262aa Add state to stage
This state is required to stop the group stage and trigger playoff
generation, it is (for now) irrelevant for anything other than that.
2019-06-13 13:21:24 +02:00
Daniel Schädler 4d5d7bc812 Only allow positive powers of two for playoff_teams_amount 2019-06-13 13:21:24 +02:00
Daniel Schädler 564cec2820 Add method to check if match_score is part of a group match 2019-06-05 09:49:21 +02:00
Daniel Schädler 752beefca6 Correctly handle matches that are not started yet 2019-06-05 09:49:21 +02:00
Daniel Schädler c1dc43948b Fix typo in received_points 2019-06-05 09:49:21 +02:00
Daniel Schädler bd0f8c7fd2 Replace guard clauses with ternary operator
@thor77 apparently thinks this is better then it was before.. i don't
really care so here we go ¯\_(ツ)_/¯
2019-06-05 09:49:20 +02:00
Daniel Schädler e868e936e4 Implement Methods returning points of teams per match
These methods return group_points scored_points and received_points
respectively when given a team that is present in the match
They return 0 when given a team that isn't contesting in that match
2019-06-05 09:26:11 +02:00
Daniel Schädler 2f77d2d25b Add winner method to match 2019-05-26 20:14:13 +02:00
Daniel Schädler 280b0c1dec Change status of Match to only represent being finished
The winner will be a attribute of the Match instead of something
that is written in its status.
2019-05-26 20:14:13 +02:00
Daniel Schädler 1a2caaedef Remove unused evaluate status method 2019-05-26 20:14:13 +02:00
Daniel Schädler b36e3c4251 Delegate owner of team to tournament again 2019-05-22 09:25:07 +02:00
Daniel Schädler 03d7369a1c Remove link between team.owner and tournament 2019-05-22 09:25:07 +02:00
Thor77 894608c19e
Fix Stage.teams returning nil on error 2019-05-16 20:53:03 +02:00
Thor77 1b9db61c22
Add owner method to Stage, Group and Match 2019-05-07 18:41:52 +02:00
Daniel Schädler 6a2c71bad7 Fix stage.team method not returning teams for playoff stages 2019-05-04 20:34:57 +02:00
Daniel Schädler 26b8ff96c9 Add teams method to group,match,stage
It returns the unique teams that compete within the object
2019-05-04 20:34:57 +02:00
Thor77 22e547befa Add validatable attribute to User model
to get email and password (existence) validation
2019-04-23 10:47:50 +02:00
Thor77 d7910c093b Update user model to extend devise models 2019-04-03 09:43:04 +02:00
Thor77 2f828542ef Alias recieved_points to received_points
to avoid a change of the db schema for now
2018-12-11 17:12:55 +01:00
Thor77 dc17cad154 Ensure uniqueness of generated Tournament.code 2018-12-02 13:51:54 +01:00
Thor77 7f59d6fb0e Delegate Score.owner to parent team 2018-11-30 14:38:56 +01:00
Daniel Schädler 68f9b3b2b3 Change Score to MatchScore & MatchScore score attribute to points
This is done to improve the naming and therefore make things easier to understand.
2018-11-30 14:15:48 +01:00
Daniel Schädler 1c318cde1a Add State to Model 2018-11-29 10:47:17 +01:00