diff options
-rw-r--r-- | app/controllers/tournaments_controller.rb | 1 | ||||
-rw-r--r-- | app/models/tournament.rb | 10 |
2 files changed, 6 insertions, 5 deletions
diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb index 3583ec3..0807953 100644 --- a/app/controllers/tournaments_controller.rb +++ b/app/controllers/tournaments_controller.rb @@ -30,6 +30,7 @@ class TournamentsController < ApplicationController if params['close_action'] == 'close' @tournament.status = 1 @tournament.save + @tournament.setup(@tournament) redirect_to "/tournaments" end end diff --git a/app/models/tournament.rb b/app/models/tournament.rb index fe781e1..ead9205 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -19,17 +19,17 @@ class Tournament < ActiveRecord::Base players<<user end - def setup - num_teams = (self.users.count/self.players_per_team).floor + def setup(tournament) + num_teams = (self.players.count/self.max_players_per_team).floor num_matches = num_teams - 1 for i in 0..num_matches self.matches.create(name: "Match #{i}") end match_num = 0 team_num = 0 - self.players.each_slice(@tournament.max_players) do |players| - matches[match_num].teams[team_num] = Team.new(users: players) - if (team_num == 0 and team_num % @tournament.max_teams_per_match == 0) + self.players.each_slice(tournament.max_players_per_team) do |players| + self.matches[match_num].teams[team_num] = Team.new(users: players) + if (team_num == 0 and team_num % tournament.max_teams_per_match == 0) match_num += 1 team_num = 0 else |