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
129
130
131
132
133
134
|
<script type="text/javascript">
function score_peers() {
//get each player in order and assign score here!
var $lisp = $('ol#boxes');
var comma = ","
for(var i=0; i < $lisp.length; i++) {
if ( i == lisp.length-1) {
comma = "";
}
$('review_action').value += $('ol#boxes:eq(' + i + ')').text() + comma;
}
}
</script>
<p>
<strong>Status:</strong>
<%= @match.status %>
</p>
<p>
<strong>Tournament stage:</strong>
<%= @match.tournament_stage %>
</p>
<!--
Match Status 0 => Created, waiting to start
Match Status 1 => Match ready
Match Status 2 => Match is running, waiting to finish
Match Status 3 => Match finished, waiting for statistics to populate
Match Status 4 => Match Totally done. Archived.
Four views:- (status is Match status)
A. Pairings, when status is 1 for either Host or Player Or when status is 2 for player
B. A page the host will see if status is 2 OR 3
C. The Peer review page that the players will see if status is 3.
D. The page everyone will see when status is 4.
Note:- The change of status from 2 to 3 for League of Legends is coming from League Data Pull (RIOT API)
-->
<div>
<h2>Teams/users</h2>
<ul>
<% @match.teams.each do |team| %>
<li>Team <%= team.id %><ul>
<% team.users.each do |user| %>
<% if @match.status <= 1 %>
<li><%= user.user_name %></li>
<% else %>
<% score = user.statistics.where(:name => "score", :match => @match).first %>
<li><%= user.user_name %> - SCORE: <%= score ? score.value : 0 %></li>
<% end %>
<% end %>
</ul></li>
<% end %>
</ul>
</div>
<% unless @match.winner.nil? %>
<p>
<strong>Winner:</strong>
<%= @match.winner.users.collect{|u| u.user_name}.join(", ") %>
</p>
<% end %>
<div id="action">
<%= form_tag(tournament_match_path(@tournament, @match), method: "put") do %>
<% case @match.status %>
<% when 0 %>
<!-- Created, waiting to start -->
<% if @tournament.hosts.include? current_user %>
<input type="hidden" name="update_action" value="start">
<%= submit_tag("Start Match", :disabled => @match.teams.count < @tournament.min_teams_per_match) %>
<% else %>
<p>Match is waiting to start.</p>
<% end %>
<% when 1 %>
<!-- Started, waiting to finish -->
<!-- This will depend on the Sampling Method Eventually instead of always being Manual -->
<% case @tournament.sampling_method %>
<% when "Manual" %>
<% if @tournament.hosts.include? current_user %>
<input type="hidden" name="update_action" value="finish">
<% @match.teams.each do |team| %>
<%= tag :input, {"type" => "radio", "name" => "winner", "value" => "#{team.id}" } %>
<%= "Team #{team.id} Won" %>
<% end %>
<%= submit_tag("Finish match") %>
<%= @tournament.settings['ScoringMethod'] %>
<% else %>
<p>The match is running; the host has yet to post the scores of the match.</p>
<% end %>
<% when "Double Blind" %>
<p>Double Blind isn't implemented yet.</p>
<% when "RiotAPI" %>
<p>Riot API is being called for Statistics. Results will appear shortly.</p>
<% end %>
<% when 2 %>
<!-- Finished, waiting for peer reviews -->
<input type="hidden" name="update_action" value="peer">
<input type="hidden" name="review_action" value="">
<% users = []; @match.teams.each{|t| users.concat(t.users)}; %>
<% if users.include? current_user %>
<% @match.teams.each do |team| %>
<% if team.users.include?(current_user) %>
<ol id="boxes" class="sortable">
<% team.users.reject{ |u| (u.user_name == @current_user.user_name) }.collect {|u| u.user_name }.each do |k| %>
<li><%= k%>
<br>
<% if (@tournament.game_id == 1) %>
<%= if @blue2["#{k}"] == nil
"Level: #{@purp2["#{k}"]["level"]} K/D/A: #{@purp2["#{k}"]["championsKilled"]}/#{@purp2["#{k}"]["numDeaths"]}/#{@purp2["#{k}"]["assists"]} Gold:#{@purp2["#{k}"]["goldEarned"]}"
else
"Level: #{@blue2["#{k}"]["level"]} K/D/A: #{@blue2["#{k}"]["championsKilled"]}/#{@blue2["#{k}"]["numDeaths"]}/#{@blue2["#{k}"]["assists"]} Gold:#{@blue2["#{k}"]["goldEarned"]}"
end %>
<% end %>
</li>
<% end %>
</ol>
<% end %>
<% end %>
<%= submit_tag("Submit peer evaluation", :onsubmit => "score_peers()") %>
<% else %>
Waiting for peer evaluations to be submitted.
<% end %>
<% when 3 %>
<!-- Totally done -->
This match is done.
<input type="hidden" name="update_action" value="reset">
<%= submit_tag("Reset Status") %>
<% end # case %>
<% end # form %>
</div>
|