summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/tournaments_controller.rb1
-rw-r--r--app/models/tournament.rb10
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