1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
<h2 id="tournament-name">
<%= @tournament.name %>
</h2>
<div class="progress">
<%= tag("div", {:id => "prog-bar", :class => "progress-bar progress-bar-warning", :style => "width: " +(@tournament.players.count * 100 / (@tournament.min_players_per_team * @tournament.min_teams_per_match)).to_s + "%", "aria-valuemax" => "100", "aria-valuemin" => "0", "aria-valuenow" => (@tournament.players.count * 100 / (@tournament.min_players_per_team * @tournament.min_teams_per_match)).to_s, "role" => "progressbar"}) %>
<span class="sr-only">60% Complete (warning)</span>
</div>
</div>
<p id="players-needed"><%= pluralize(@tournament.players.count, "player has", "players have") %> signed up. <%= @tournament.min_players_per_team * @tournament.min_teams_per_match %> needed. </p>
<span id="tournament-side-params">
<p>
<strong>Status:</strong>
<% if @tournament.status == 0 %>
Waiting for players...
<% else %>
Started
<% end %>
</p>
<p>
<strong>Min players per team:</strong>
<%= @tournament.min_players_per_team %>
</p>
<p>
<strong>Max players per team:</strong>
<%= @tournament.max_players_per_team %>
</p>
<p>
<strong>Min teams per match:</strong>
<%= @tournament.min_teams_per_match %>
</p>
<p>
<strong>Max teams per match:</strong>
<%= @tournament.max_teams_per_match %>
</p>
<p>
<strong>Randomized teams:</strong>
<%= @tournament.randomized_teams %>
</p>
</span>
<div >
<%# Show all players in the tournament %>
<% if @tournament.players.length > 0 %>
<h3> Players Here: </h3>
<ul id="tournament-users">
<% @tournament.players.each do |p| %>
<li><span class="black"> <%= p.user_name %> </span> </li>
<% end %>
</ul>
<% else %>
<h3 div="players-needed">Hmmm.... nobody's here yet! You and your friends should join the tournament.</h3>
<% end %>
<div class="leave-buttons">
<%# If user can join, and user hasn't joined already, show the join tournment tag %>
<% if @tournament.joinable_by?(current_user) && !@tournament.players.include?(current_user) %>
<%= form_tag(tournament_path(@tournament), method: "put") do %>
<input type="hidden" name="update_action" value="join">
<%= submit_tag("Join Tournament") %>
<% end %>
<% elsif @tournament.players.include?(current_user) %>
<%= form_tag(tournament_path(@tournament), method: "put") do %>
<input type="hidden" name="update_action" value="leave">
<%= submit_tag("Leave Tournament") %>
<% end %>
<% end %>
<%# If user is the host, let them start the tournment %>
<% if @tournament.hosts.include?(current_user) %>
<%= form_tag(tournament_path(@tournament), method: "put") do %>
<input type="hidden" name="update_action" value="start">
<% if @tournament.players.count >= @tournament.min_players_per_team * @tournament.min_teams_per_match %>
<%= submit_tag("Start Tournament") %>
<% else %>
<%= submit_tag("Start Tournament", disabled: true) %>
<% end %>
<br />
<%= link_to 'Edit', edit_tournament_path(@tournament) %> |
<%= link_to 'Back', tournaments_path %> |
<%= link_to 'Cancel Tournament', @tournament, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
</div>
<%end %>
</div>
<script>
function donehandle( tournament ) {
if ( console && console.log ) {
var here = tournament["players"].length;
var needed = (tournament["min_teams_per_match"] * tournament["min_players_per_team"]);
var pct_complete = here / needed;
$("#prog-bar").width( (pct_complete * 100) +"%");
$("#players-needed").text(here + " " + (here==1?"player has":"players have") + " signed up. " + needed + " players needed. ");
players = "";
//creates the present user list
for (var i = 0; i < tournament["players"].length; i++) {
players = players+"<li><span class=\"black\">"+tournament["players"][i]["user_name"]+"</span></li>"
}
//updates the user list
$("#tournament-users").html(players);
//if there are enough players to start, enable the button, else disable it.
$("input[value=\"Start Tournament\"]").prop('disabled', (pct_complete >= 1)? false : true);
if (tournament["status"] == 1)
window.location.reload(true);
}
setTimeout(function(){$.ajax({url: "<%= url_for @tournament %>.json"}).done(donehandle)}, 2000);
}
$.ajax({url: "<%= url_for @tournament %>.json"})
.done(donehandle);
</script>
|