summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/matches_controller.rb4
-rw-r--r--app/models/match.rb4
-rw-r--r--app/views/matches/_form.html.erb4
-rw-r--r--app/views/matches/index.html.erb2
-rw-r--r--app/views/matches/index.json.jbuilder2
-rw-r--r--app/views/matches/show.html.erb24
-rw-r--r--app/views/matches/show.json.jbuilder2
-rw-r--r--app/views/tournaments/_selected.html.erb2
-rw-r--r--app/views/tournaments/index.html.erb2
9 files changed, 39 insertions, 7 deletions
diff --git a/app/controllers/matches_controller.rb b/app/controllers/matches_controller.rb
index 23d2700..986bb44 100644
--- a/app/controllers/matches_controller.rb
+++ b/app/controllers/matches_controller.rb
@@ -1,5 +1,5 @@
class MatchesController < ApplicationController
- before_action :set_tournament, only: [:index]
+ before_action :set_tournament, only: [:index, :new, :create]
before_action :set_match, only: [:show, :edit, :update, :destroy]
# GET /matches
# GET /matches.json
@@ -72,6 +72,6 @@ class MatchesController < ApplicationController
end
# Never trust parameters from the scary internet, only allow the white list through.
def match_params
- params.require(:match).permit(:tournament_id, :name)
+ params.require(:match).permit(:tournament_id, :name, :winner_id)
end
end
diff --git a/app/models/match.rb b/app/models/match.rb
index 83d2e7b..7dacae5 100644
--- a/app/models/match.rb
+++ b/app/models/match.rb
@@ -1,4 +1,8 @@
class Match < ActiveRecord::Base
belongs_to :tournament
+
has_and_belongs_to_many :teams
+
+ belongs_to :winner
+
end
diff --git a/app/views/matches/_form.html.erb b/app/views/matches/_form.html.erb
index 015aed0..67d30da 100644
--- a/app/views/matches/_form.html.erb
+++ b/app/views/matches/_form.html.erb
@@ -8,6 +8,10 @@
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
+ <div class="field">
+ <%= f.label :winner_id %><br>
+ <%= f.text_field :winner_id %>
+ </div>
<div class="actions">
<%= f.submit %>
</div>
diff --git a/app/views/matches/index.html.erb b/app/views/matches/index.html.erb
index d635834..ff42ef1 100644
--- a/app/views/matches/index.html.erb
+++ b/app/views/matches/index.html.erb
@@ -5,6 +5,7 @@
<tr>
<th>Tournament</th>
<th>Name</th>
+ <th>Winner</th>
<th></th>
<th></th>
<th></th>
@@ -16,6 +17,7 @@
<tr>
<td><%= match.tournament %></td>
<td><%= match.name %></td>
+ <td><%= match.winner %></td>
<td><%= link_to 'Show', tournament_match_path(@tournament, match) %></td>
<td><%= link_to 'Edit', edit_tournament_match_path(@tournament, match) %></td>
<td><%= link_to 'Destroy', tournament_match_path(@tournament, match), method: :delete, data: { confirm: 'Are you sure?' } %></td>
diff --git a/app/views/matches/index.json.jbuilder b/app/views/matches/index.json.jbuilder
index 08ae0ef..0b2bfcd 100644
--- a/app/views/matches/index.json.jbuilder
+++ b/app/views/matches/index.json.jbuilder
@@ -1,4 +1,4 @@
json.array!(@matches) do |match|
- json.extract! match, :id, :tournament_id, :name
+ json.extract! match, :id, :tournament_id, :name, :winner_id
json.url match_url(match, format: :json)
end
diff --git a/app/views/matches/show.html.erb b/app/views/matches/show.html.erb
index e95cd07..f5a3686 100644
--- a/app/views/matches/show.html.erb
+++ b/app/views/matches/show.html.erb
@@ -1,6 +1,6 @@
<p>
<strong>Tournament:</strong>
- <%= @match.tournament %>
+ <%= @match.tournament.id %>
</p>
<p>
@@ -8,5 +8,27 @@
<%= @match.name %>
</p>
+<% if @tournament.hosts.include?(current_user) %>
+ <%= form_for(@match, method: "put") do |f| %>
+ <ul>
+ <% @match.teams.each do |team| %>
+ <li><label><%= f.radio_button(:winner, team.id) %>
+ <%= team.users.collect{|u| u.user_name}.join(", ") %></label></li>
+ <% end %>
+ </ul>
+ <%= f.submit("Select winner") %>
+ <% end %>
+<% end %>
+
<%= link_to 'Edit', edit_tournament_match_path(@tournament, @match) %> |
<%= link_to 'Back', tournament_matches_path %>
+
+<% 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 %>
+
diff --git a/app/views/matches/show.json.jbuilder b/app/views/matches/show.json.jbuilder
index 128550f..fe14010 100644
--- a/app/views/matches/show.json.jbuilder
+++ b/app/views/matches/show.json.jbuilder
@@ -1 +1 @@
-json.extract! @match, :id, :tournament_id, :name, :created_at, :updated_at
+json.extract! @match, :id, :tournament_id, :name, :winner_id, :created_at, :updated_at
diff --git a/app/views/tournaments/_selected.html.erb b/app/views/tournaments/_selected.html.erb
index 925e127..9b1b7f8 100644
--- a/app/views/tournaments/_selected.html.erb
+++ b/app/views/tournaments/_selected.html.erb
@@ -4,7 +4,7 @@
<% @chosen = Game.find_by(params[:game]) %>
<% @tournament.attributes.each do |name, value| %>
- <% if (name == "id") or (name =~ /.*_at$/) or (name == "game_id") or (name == "statuss") %>
+ <% if (name == "id") or (name =~ /.*_at$/) or (name == "game_id") or (name == "status") %>
<% next %>
<% end %>
<p>
diff --git a/app/views/tournaments/index.html.erb b/app/views/tournaments/index.html.erb
index 452d939..d4ef414 100644
--- a/app/views/tournaments/index.html.erb
+++ b/app/views/tournaments/index.html.erb
@@ -21,7 +21,7 @@
<tbody>
<% @tournaments.each do |tournament| %>
<tr>
- <td><%= tournament.game %></td>
+ <td><%= tournament.id %></td>
<td><%= tournament.status %></td>
<td><%= tournament.min_players_per_team %></td>
<td><%= tournament.max_players_per_team %></td>