diff --git a/app/models/poolbracket.rb b/app/models/poolbracket.rb
index aa99e24..561b793 100644
--- a/app/models/poolbracket.rb
+++ b/app/models/poolbracket.rb
@@ -28,6 +28,7 @@ class Poolbracket
@round = round + 1
matches = createMatchup(matches,weight,@round,"Winner Pool 1","Winner Pool 2","1/2",1)
matches = createMatchup(matches,weight,@round,"Runner Up Pool 1","Runner Up Pool 2","3/4",1)
+ return matches
end
def fourPoolsToQuarter(matches,weight,round)
diff --git a/app/models/tournament.rb b/app/models/tournament.rb
index 3c97ddb..9fe683b 100644
--- a/app/models/tournament.rb
+++ b/app/models/tournament.rb
@@ -5,48 +5,31 @@ class Tournament < ActiveRecord::Base
has_many :wrestlers, through: :weights
+ def tournament_types
+ ["Pool to bracket"]
+ end
+
def matches
@matches = Match.where(tournament_id: self.id)
end
+
+
def upcomingMatches
if matches.nil?
return matches
else
- @matches = generateMatchups
- saveMatchups(@matches)
- return @matches
+ generateMatchups
+ return matches
end
end
def generateMatchups
- destroyAllMatches
- @matches = []
- self.weights.map.sort_by{|x|[x.max]}.each do |weight|
- @matches = weight.generateMatchups(@matches)
- end
- @matches = assignBouts(@matches)
- @matches = Losernamegen.new.assignLoserNames(@matches,self.weights)
- return @matches
- end
-
- def assignBouts(matches)
- @bouts = Boutgen.new
- @matches = @bouts.assignBouts(matches,self.weights)
- return @matches
- end
-
- def saveMatchups(matches)
- matches.each do |m|
- m.tournament_id = self.id
- m.save
- end
+ @matches = Tournamentmatchgen.new.genMatches(self)
end
def destroyAllMatches
- matches.each do |m|
- m.destroy
- end
+ matches.destroy_all
end
end
diff --git a/app/models/tournamentMatchGen.rb b/app/models/tournamentMatchGen.rb
new file mode 100644
index 0000000..b463acb
--- /dev/null
+++ b/app/models/tournamentMatchGen.rb
@@ -0,0 +1,33 @@
+class Tournamentmatchgen
+ def genMatches(tournament)
+ if tournament.tournament_type == "Pool to bracket"
+ @matches = poolToBracket(tournament)
+ end
+ return @matches
+ end
+
+ def poolToBracket(tournament)
+ tournament.destroyAllMatches
+ @matches = []
+ tournament.weights.sort_by{|x|[x.max]}.each do |w|
+ @wrestlers = w.wrestlers
+ @matches = Pool.new.generatePools(w.pools,@wrestlers,w,tournament.id,@matches)
+ @weight_matches = @matches.select{|m|m.weight_id == w.id}
+ @last_match = @weight_matches.sort_by{|m| m.round}.last
+ @highest_round = @last_match.round
+ @matches = Poolbracket.new.generateBracketMatches(@matches,w,@highest_round)
+ end
+ @matches = Boutgen.new.assignBouts(@matches,tournament.weights)
+ @matches = Losernamegen.new.assignLoserNames(@matches,tournament.weights)
+ saveMatches(tournament,@matches)
+ return @matches
+ end
+
+ def saveMatches(tournament,matches)
+ matches.each do |m|
+ m.tournament_id = tournament.id
+ m.save
+ end
+ end
+end
+
diff --git a/app/models/weight.rb b/app/models/weight.rb
index 83a3754..0298e8b 100644
--- a/app/models/weight.rb
+++ b/app/models/weight.rb
@@ -101,18 +101,6 @@ class Weight < ActiveRecord::Base
return "fourPoolsToSemi"
end
end
-
- def generateMatchups(matches)
- @wrestlers = self.wrestlers
- @pool = Pool.new
- @matches = @pool.generatePools(self.pools,@wrestlers,self,self.tournament_id,matches)
- @weight_matches = @matches.select{|m|m.weight_id == self.id}
- @last_match = @weight_matches.sort_by{|m| m.round}.last
- @highest_round = @last_match.round
- @bracket = Poolbracket.new
- @matches = @bracket.generateBracketMatches(@matches,self,@highest_round)
- return @matches
- end
def poolRounds(matches)
@matchups = matches.select{|m| m.weight_id == self.id}
diff --git a/app/views/tournaments/_form.html.erb b/app/views/tournaments/_form.html.erb
index 2a463e2..7b22b04 100644
--- a/app/views/tournaments/_form.html.erb
+++ b/app/views/tournaments/_form.html.erb
@@ -27,6 +27,12 @@
<%= f.label :director_email %>
<%= f.text_field :director_email %>
+