tournament 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,6 @@
1
+ == 2.2.1 / 2009-03-19
2
+ * Bug fixes and minor display enhancement.
3
+
1
4
  == 2.2.0 / 2009-03-18
2
5
  * Final update for 2009 NCAA tournament
3
6
  * Fix a couple of anchor tags.
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ PROJ.authors = 'Douglas A. Seifert'
20
20
  PROJ.email = 'doug+rubyforge@dseifert.net'
21
21
  PROJ.url = 'http://www.dseifert.net/code/tournament'
22
22
  PROJ.rubyforge.name = 'tournament'
23
- PROJ.version = '2.2.0'
23
+ PROJ.version = '2.2.1'
24
24
  PROJ.group_id = 5863
25
25
 
26
26
  PROJ.spec.opts << '--color'
@@ -7,12 +7,13 @@ class AdminController < ApplicationController
7
7
  if @entry
8
8
  @pool = @entry.pool
9
9
  save_picks(@entry)
10
- if @entry.save
10
+ if @entry.save(false)
11
11
  @pool.pool.tournament_entry = @entry.tournament_entry
12
12
  @pool.save
13
13
  flash[:info] = "Tournament bracket updated."
14
14
  redirect_to :action => 'bracket', :id => @pool.id
15
15
  else
16
+ @pool = @pool.pool
16
17
  flash[:error] = "Could not save entry."
17
18
  render :action => 'bracket', :layout => 'bracket'
18
19
  end
@@ -49,7 +50,7 @@ class AdminController < ApplicationController
49
50
  @pool = pool.pool
50
51
  @entry = Entry.find_or_initialize_by_user_id(:user_id => current_user.id, :pool_id => pool.id, :tie_break => 0, :name => 'Tournament Bracket')
51
52
  @entry.bracket
52
- @entry.save!
53
+ @entry.save(false)
53
54
 
54
55
  render :layout => 'bracket'
55
56
  end
@@ -9,6 +9,7 @@
9
9
  &nbsp;
10
10
  <%= link_to '[Edit]', :controller => 'admin', :action => 'pool', :id => pool.id %>
11
11
  <%= link_to '[Entries]', :controller => 'admin', :action => 'entries', :id => pool.id %>
12
+ <%= link_to '[Bracket]', :controller => 'admin', :action => 'bracket', :id => pool.id %>
12
13
  <% end %>
13
14
  <%= link_to '[Leader Board]', :controller => 'reports', :action => 'show', :id => pool.id, :report => 'leader' %>
14
15
  <%= link_to '[Reports]', :controller => 'reports', :action => 'show', :id => pool.id %>
@@ -24,8 +25,10 @@ Entry Fee: $<%=pool.fee%>
24
25
  </div>
25
26
  <div class="poollistinfodetail">
26
27
  Payouts:
28
+ <% take = pool.user_entries.size * pool.fee.to_f -
29
+ (pool.payouts.inject(0) {|sum, p| sum += p.kind == '$' ? p.payout.to_i : 0}) %>
27
30
  <% pool.payouts.delete_if{|p| p.kind.blank?}.sort_by {|p| p.rank }.each do |p| -%>
28
- <%=p.rank != 'L' ? p.rank.to_i.ordinal : 'Last'%>: <%= p.kind if p.kind == '$'%><%=p.payout%><%=p.kind if p.kind != '$'%>&nbsp;&nbsp;
31
+ <%=p.rank != 'L' ? p.rank.to_i.ordinal : 'Last'%>: $<%=p.kind == '$' ? p.payout : p.payout.to_f / 100.0 * take%>&nbsp;&nbsp;
29
32
  <% end -%>
30
33
  </div>
31
34
  <div class="poollistinfodetail">
@@ -32,17 +32,19 @@ end
32
32
  classes[idx] = "teamname "
33
33
  onclicks[idx] = is_editable ? "pick(this);" : ''
34
34
  if winner != :unk
35
+ real_winner = @pool.tournament_entry.picks.winner(round, game)
35
36
  contents[idx] = winner.short_name
36
37
  teams[idx] = winner.short_name
37
38
  onmouseovers[idx] = active_mouse_over;
38
39
  onmouseouts[idx] = active_mouse_out;
39
- incorrect = !@pool.tournament_entry.picks.still_alive?(winner)
40
+ incorrect = real_winner != :unk && real_winner != winner
40
41
  if incorrect
41
42
  classes[idx] += 'missedpick '
42
43
  else
43
- bracket_winner = @pool.tournament_entry.picks.winner(round, game)
44
- if bracket_winner == winner
44
+ if real_winner != :unk && real_winner == winner
45
45
  classes[idx] += 'correctpick '
46
+ elsif !@pool.tournament_entry.picks.still_alive?(winner)
47
+ classes[idx] += 'missedpick '
46
48
  else
47
49
  classes[idx] += 'pendingpick '
48
50
  end
@@ -56,6 +58,7 @@ end
56
58
  %>
57
59
  <%= error_messages_for 'entry' %>
58
60
  <% form_for(@entry, :url => {:action => 'edit', :id => @entry.id}, :html => {:onSubmit => (is_editable ? 'return submitPicks(this);' : 'return false')}) do |f| -%>
61
+ <div style="float: left">
59
62
  <table border="0">
60
63
  <tr>
61
64
  <td><%= f.label :name, "Entry Name"%></td><td><%= f.text_field :name %></td>
@@ -63,19 +66,21 @@ end
63
66
  <tr>
64
67
  <td><%= f.label :tie_break, 'Tie Breaker'%></td><td><%= f.text_field :tie_break %></td>
65
68
  </tr>
66
- <tr>
67
- <td colspan="2">
69
+ </table>
70
+ </div>
71
+ <div style="float: left">
68
72
  <small>
69
73
  Current Score: <%= @entry.bracket.score_against(@pool.tournament_entry.picks, @pool.scoring_strategy) %> Max. Possible Score: <%= @entry.bracket.maximum_score(@pool.tournament_entry.picks, @pool.scoring_strategy) %>
70
74
  </small>
71
- </td>
72
- </table>
75
+ </div>
73
76
  <input type="hidden" name="pool_id" value="<%=@entry.pool_id%>">
74
77
  <input type="hidden" name="picks" id="picks" value="">
75
78
  <% if is_editable %>
79
+ <div style="clear: both">
76
80
  <input type="Submit" value="Save Changes">
77
81
  <%= submit_tag 'Cancel Changes', :name => 'cancel', :confirm => 'Are you sure?'%>
78
82
  <%= submit_tag 'Reset Picks', :name => 'reset', :confirm => 'Are you sure? Resetting will clear all picks and start the bracket over from scratch!'%>
83
+ </div>
79
84
  <% end -%>
80
85
  <% end -%>
81
86
  <TABLE cellspacing=0 class="bracket">
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tournament
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Douglas A. Seifert
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-18 00:00:00 -07:00
12
+ date: 2009-03-19 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency