summaryrefslogtreecommitdiff
path: root/app/views/matches/show.html.erb
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/matches/show.html.erb')
-rw-r--r--app/views/matches/show.html.erb140
1 files changed, 120 insertions, 20 deletions
diff --git a/app/views/matches/show.html.erb b/app/views/matches/show.html.erb
index 8384ff2..e61d6b3 100644
--- a/app/views/matches/show.html.erb
+++ b/app/views/matches/show.html.erb
@@ -1,29 +1,129 @@
-<p id="notice"><%= notice %></p>
+<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 %>
+ <strong>Status:</strong>
+ <%= @match.status %>
</p>
-
<p>
- <strong>Tournament stage:</strong>
- <%= @match.tournament_stage %>
+ <strong>Tournament stage:</strong>
+ <%= @match.tournament_stage %>
</p>
-<p>
- <strong>Winner:</strong>
- <%= @match.winner %>
-</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.
-<p>
- <strong>Remote:</strong>
- <%= @match.remote_id %>
-</p>
+ 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.
-<p>
- <strong>Submitted peer evaluations:</strong>
- <%= @match.submitted_peer_evaluations %>
-</p>
+ 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 %>
+ <li><%= user.user_name %> - SCORE: <%= @match.scores.select{|s| s.user == user}.first.value %></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 %>
-<%= link_to 'Edit', edit_match_path(@match) %> |
-<%= link_to 'Back', matches_path %>
+<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 -->
+ <% if @tournament.hosts.include? current_user %>
+ <input type="hidden" name="update_action" value="finish">
+ <% @match.teams.each do |team| %>
+ <fieldset><legend>Team <%= team.id.to_s %></legend>
+ <% team.users.collect{|u| u.user_name}.each do |k| %><label>
+ Score for <%= k %><br>
+ <% @player_score = 0 %>
+ <% current_user.scores.find_by_match(@match).each{ |s| @player_score+=s.value } %>
+ <%= text_field_tag("scores[#{k}]", @player_score, size: 3) %>
+ </label><% end %>
+ </fieldset>
+ <% end %>
+ <%= submit_tag("Finish match") %>
+ <% else %>
+ <p>The match is running; the host has yet to post the scores of the match.</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>