summaryrefslogtreecommitdiff
path: root/app/views/tournaments/show.html.erb
blob: 1ebf4c52483b177edc2660c40fa0faabac6fee48 (plain)
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
<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>Set rounds:</strong>
  <%= @tournament.set_rounds %>
</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 Tournamnet") %>
  <% 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 Tournamnet") %>
  <% end %>
<% end %>

<%# If user is the host, let them start the tournment %>
<% if @tournament.hosts.include?(current_user) %>
  
  <%= form_tag(tournaments_path.to_s + "/" + @tournament.id.to_s + "/edit", method: "get") do %>
    <input type="hidden" name="close_action" value="close">
    <% 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 = "";
    for (var i = 0; i < tournament["players"].length; i++) {
      players = players+"<li><span class=\"black\">"+tournament["players"][i]["user_name"]+"</span></li>"
    }
    $("#tournament-users").html(players);

  }
  setTimeout(function(){$.ajax({url: "<%= url_for @tournament %>.json"}).done(donehandle)}, 3000);
}

$.ajax({url: "<%= url_for @tournament %>.json"})
  .done(donehandle);
</script>