tournament 3.2.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.txt
CHANGED
data/lib/tournament.rb
CHANGED
@@ -47,24 +47,13 @@ class TeamsController < ApplicationController
|
|
47
47
|
logger.debug("SAVING NEW TEAM for region #{region_idx}, seed: #{seeding_hash[:seed]}, name: #{team.name}, short: #{team.short_name}")
|
48
48
|
team.save!
|
49
49
|
end
|
50
|
-
|
51
|
-
|
52
|
-
if
|
53
|
-
|
50
|
+
logger.debug "Finding Seeding for region #{region.name}, seed #{seeding_hash[:seed]}"
|
51
|
+
existing_seeding = @pool.seedings.find_or_create_by_region_and_seed(region.name, seeding_hash[:seed])
|
52
|
+
if existing_seeding.team_id != team.id
|
53
|
+
logger.debug " ==> TEAMS ARE DIFF, CHANGING SEEDING: #{existing_seeding.inspect}"
|
54
|
+
existing_seeding.team_id = team.id
|
55
|
+
existing_seeding.save!
|
54
56
|
end
|
55
|
-
if existing_team
|
56
|
-
logger.debug "COMPARING existing team #{existing_team.inspect} with new team #{team.inspect}"
|
57
|
-
if existing_team != team
|
58
|
-
# Change team ...
|
59
|
-
existing_seeding = @pool.seedings.find(:first, :conditions => {:team_id => existing_team.id, :region => region_name})
|
60
|
-
logger.debug " ==> TEAMS ARE DIFF, CHANGING SEEDING: #{existing_seeding.inspect}"
|
61
|
-
existing_seeding.team_id = team.id
|
62
|
-
existing_seeding.save!
|
63
|
-
end
|
64
|
-
else
|
65
|
-
logger.debug("SAVING NEW SEEDING for region #{region_idx}, seed: #{seeding_hash[:seed]}, team name: #{team.name}, short: #{team.short_name}, team id: #{team.id}")
|
66
|
-
@pool.seedings.create(:team_id => team.id, :region => region_name, :seed => seeding_hash[:seed])
|
67
|
-
end
|
68
57
|
end
|
69
58
|
@pool.save!
|
70
59
|
end
|
@@ -50,8 +50,8 @@ Region Name: <input type="text" name="region<%=index%>[name]" value="<%=region_n
|
|
50
50
|
:after_update_element => 'function(element, value) {name_id = element.id.replace("short_name", "team_name"); $(name_id).value = value.readAttribute("name")}'
|
51
51
|
%>
|
52
52
|
</td>
|
53
|
-
</tr>
|
54
53
|
<input type="hidden" name="region<%=index%>[seedings][][seed]" value="<%=seed_idx + 1%>">
|
54
|
+
</tr>
|
55
55
|
<% end -%>
|
56
56
|
</table>
|
57
57
|
</div>
|
@@ -298,4 +298,37 @@ class TeamsControllerTest < ActionController::TestCase
|
|
298
298
|
assert_equal 64, team_list.size, "OOPS! There should be 64 teams."
|
299
299
|
assert_equal 64, pool.teams.size, "OOPS! There should be 64 teams."
|
300
300
|
end
|
301
|
+
|
302
|
+
# Test that completely reording the world works
|
303
|
+
test "reorder entire region" do
|
304
|
+
input = {"id" => 1, "region0"=>{"name"=>"West",
|
305
|
+
"seedings"=>[{"name"=>"UCLA", "seed"=>"1", "short_name"=>"ULA"},
|
306
|
+
{"name"=>"Duke", "seed"=>"2", "short_name"=>"Duk"},
|
307
|
+
{"name"=>"Xavier", "seed"=>"3", "short_name"=>"Xav"},
|
308
|
+
{"name"=>"Connecticut", "seed"=>"4", "short_name"=>"Con"},
|
309
|
+
{"name"=>"Drake", "seed"=>"5", "short_name"=>"Dra"},
|
310
|
+
{"name"=>"Purdue", "seed"=>"6", "short_name"=>"Pur"},
|
311
|
+
{"name"=>"West Virginia", "seed"=>"7", "short_name"=>"WVa"},
|
312
|
+
{"name"=>"BYU", "seed"=>"8", "short_name"=>"BYU"},
|
313
|
+
{"name"=>"Texas A&M", "seed"=>"9", "short_name"=>"A&M"},
|
314
|
+
{"name"=>"Arizona", "seed"=>"10", "short_name"=>"UA"},
|
315
|
+
{"name"=>"Baylor", "seed"=>"11", "short_name"=>"Bay"},
|
316
|
+
{"name"=>"W. Kentucky", "seed"=>"12", "short_name"=>"WKy"},
|
317
|
+
{"name"=>"San Diego", "seed"=>"13", "short_name"=>"SD"},
|
318
|
+
{"name"=>"Georgia", "seed"=>"14", "short_name"=>"UG"},
|
319
|
+
{"name"=>"Belmont", "seed"=>"15", "short_name"=>"Bel"},
|
320
|
+
{"name"=>"Mis. Valley St", "seed"=>"16", "short_name"=>"MVS"}]}}
|
321
|
+
login_as :admin
|
322
|
+
post :change, input
|
323
|
+
pool = Pool.find(1)
|
324
|
+
assert_equal 16, pool.region_seedings[0][1].uniq.size, "OOPS! There are dupe teams in region 0 teams list"
|
325
|
+
assert_equal input["region0"]["seedings"].map {|h| h["short_name"]}, pool.region_seedings[0][1].uniq.map{|t| t.short_name}, "Teams are out of order or otherwise not equal"
|
326
|
+
|
327
|
+
input["region0"]["seedings"] = input["region0"]["seedings"].sort_by { rand }
|
328
|
+
input["region0"]["seedings"].each_with_index {|s, idx| s["seed"] = idx + 1}
|
329
|
+
post :change, input
|
330
|
+
pool = Pool.find(1)
|
331
|
+
assert_equal 16, pool.region_seedings[0][1].uniq.size, "OOPS! There are dupe teams in region 0 teams list"
|
332
|
+
assert_equal input["region0"]["seedings"].map {|h| h["short_name"]}, pool.region_seedings[0][1].uniq.map{|t| t.short_name}, "Teams are out of order or otherwise not equal"
|
333
|
+
end
|
301
334
|
end
|