<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 is running, waiting to finish Match Status 2 => Match finished, waiting for peer reviews Match Status 3 => Totally done. Four views:- (status is Match status) A. Pairings, when status is 0 for either Host or Player Or when status is 1 for player B. A page the host will see if status is 1 OR 2 C. The Peer review page that the players will see if status is 2. D. The page everyone will see when status is 3. Note:- The change of status from 1 to 2 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 %> <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> <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>