summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorAndrewMurrell <amurrel@purdue.edu>2014-03-06 22:34:08 -0500
committerAndrewMurrell <amurrel@purdue.edu>2014-03-06 22:34:08 -0500
commit3ce5876375cbb3057ffc96e2886ba57cbd875dc9 (patch)
treee59dc46b293cdcd4ad8ad5b33bd4703f65adb0d9 /app
parentce8b05ed8fa3466c727269daa47ba7df672fdca1 (diff)
parent70bae69d731afc5300ffa5b176732ebe27d0810f (diff)
Fixed some merge errors in show.html.erb
Diffstat (limited to 'app')
-rw-r--r--app/controllers/tournaments_controller.rb18
-rw-r--r--app/models/team_match_pair.rb4
-rw-r--r--app/models/tournament.rb20
-rw-r--r--app/models/tournament_user_pair.rb4
-rw-r--r--app/models/user.rb4
-rw-r--r--app/models/user_team_pair.rb4
-rw-r--r--app/models/user_tournament_pair.rb4
-rw-r--r--app/views/tournaments/_form.html.erb8
-rw-r--r--app/views/tournaments/index.html.erb4
-rw-r--r--app/views/tournaments/index.json.jbuilder2
-rw-r--r--app/views/tournaments/join.html.erb2
-rw-r--r--app/views/tournaments/show.html.erb8
-rw-r--r--app/views/tournaments/show.json.jbuilder2
13 files changed, 47 insertions, 37 deletions
diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb
index 9e6a6e6..3583ec3 100644
--- a/app/controllers/tournaments_controller.rb
+++ b/app/controllers/tournaments_controller.rb
@@ -38,9 +38,9 @@ class TournamentsController < ApplicationController
# POST /tournaments.json
def create
@tournament = Tournament.new(tournament_params)
-
respond_to do |format|
if @tournament.save
+ @tournament.hosts.push(current_user)
format.html { redirect_to @tournament, notice: 'Tournament was successfully created.' }
format.json { render action: 'show', status: :created, location: @tournament }
else
@@ -53,8 +53,7 @@ class TournamentsController < ApplicationController
# PATCH/PUT /tournaments/1
# PATCH/PUT /tournaments/1.json
def update
- require 'pp'
- pp params
+
if params[:update_action].nil?
check_perms
respond_to do |format|
@@ -77,8 +76,15 @@ class TournamentsController < ApplicationController
format.html { render action: 'permission_denied', status: :forbidden }
format.json { render json: "Permission denied", status: :forbidden }
end
- #when "open"
- # TODO
+ when "open"
+ respond_to do |format|
+ if @tournament.setup
+ format.html { render action: 'show', notice: 'You have joined this tournament.' }
+ format.json { head :no_content }
+ end
+ format.html { render action: 'permission_denied', status: :forbidden }
+ format.json { render json: "Permission denied", status: :forbidden }
+ end
#when "close"
# TODO
else
@@ -117,6 +123,6 @@ class TournamentsController < ApplicationController
# Never trust parameters from the scary internet, only allow the white list through.
def tournament_params
- params.require(:tournament).permit(:game, :game_id, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :status)
+ params.require(:tournament).permit(:game, :game_id, :status, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams)
end
end
diff --git a/app/models/team_match_pair.rb b/app/models/team_match_pair.rb
deleted file mode 100644
index 85f8eaa..0000000
--- a/app/models/team_match_pair.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-class TeamMatchPair < ActiveRecord::Base
- belongs_to :team
- belongs_to :match
-end
diff --git a/app/models/tournament.rb b/app/models/tournament.rb
index 26dec72..44b22f5 100644
--- a/app/models/tournament.rb
+++ b/app/models/tournament.rb
@@ -1,8 +1,8 @@
class Tournament < ActiveRecord::Base
belongs_to :game
has_many :matches
- has_many :user_tournament_pairs
- has_many :users, :through => :user_tournament_pairs
+ has_and_belongs_to_many :players, class_name: "User", association_foreign_key: "player_id", join_table: "players_tournaments"
+ has_and_belongs_to_many :hosts, class_name: "User", association_foreign_key: "host_id", join_table: "hosts_tournaments"
def open?
return true
@@ -16,7 +16,19 @@ class Tournament < ActiveRecord::Base
unless joinable_by?(user)
return false
end
- pair = UserTournamentPair.new(tournament: self, user: user)
- return pair.save
+ players<<user
end
+
+ def setup
+ num_teams = (self.users.count/self.players_per_team).floor
+ num_matches = num_teams - 1
+ for i in 0..num_matches
+ self.matches.create(name: "Match #{i}")
+ end
+ #self.players.each_slice(num_teams) do |team_players|
+ # Team.new(users: team_players)
+ #end
+ end
+
+
end
diff --git a/app/models/tournament_user_pair.rb b/app/models/tournament_user_pair.rb
deleted file mode 100644
index eb4e9c5..0000000
--- a/app/models/tournament_user_pair.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-class TournamentUserPair < ActiveRecord::Base
- belongs_to :tournament
- belongs_to :user
-end
diff --git a/app/models/user.rb b/app/models/user.rb
index c3a9acb..fa07b60 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -1,6 +1,6 @@
class User < ActiveRecord::Base
- has_many :user_tournament_pairs
- has_many :tournaments, :through => :user_tournament_pairs
+ has_and_belongs_to_many :tournaments_played, class_name: "Tournament", foreign_key: "tournament_id", join_table: "players_tournaments"
+ has_and_belongs_to_many :tournaments_hosted, class_name: "Tournament", foreign_key: "tournament_id", join_table: "hosts_tournaments"
before_save { self.email = email.downcase }
before_save { self.user_name = user_name }
diff --git a/app/models/user_team_pair.rb b/app/models/user_team_pair.rb
deleted file mode 100644
index c55dc2e..0000000
--- a/app/models/user_team_pair.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-class UserTeamPair < ActiveRecord::Base
- belongs_to :user
- belongs_to :team
-end
diff --git a/app/models/user_tournament_pair.rb b/app/models/user_tournament_pair.rb
deleted file mode 100644
index b2676e5..0000000
--- a/app/models/user_tournament_pair.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-class UserTournamentPair < ActiveRecord::Base
- belongs_to :user
- belongs_to :tournament
-end
diff --git a/app/views/tournaments/_form.html.erb b/app/views/tournaments/_form.html.erb
index c2c0ba7..d098cbb 100644
--- a/app/views/tournaments/_form.html.erb
+++ b/app/views/tournaments/_form.html.erb
@@ -16,6 +16,10 @@
<%= f.text_field :game_id %>
</div>
<div class="field">
+ <%= f.label :status %><br>
+ <%= f.number_field :status %>
+ </div>
+ <div class="field">
<%= f.label :min_players_per_team %><br>
<%= f.number_field :min_players_per_team %>
</div>
@@ -39,10 +43,6 @@
<%= f.label :randomized_teams %><br>
<%= f.check_box :randomized_teams %>
</div>
- <div class="field">
- <%= f.label :status %><br>
- <%= f.number_field :status %>
- </div>
<div class="actions">
<%= f.submit %>
</div>
diff --git a/app/views/tournaments/index.html.erb b/app/views/tournaments/index.html.erb
index 80d68a3..452d939 100644
--- a/app/views/tournaments/index.html.erb
+++ b/app/views/tournaments/index.html.erb
@@ -5,13 +5,13 @@
<thead>
<tr>
<th>Game</th>
+ <th>Status</th>
<th>Min players per team</th>
<th>Max players per team</th>
<th>Min teams per match</th>
<th>Max teams per match</th>
<th>Set rounds</th>
<th>Randomized teams</th>
- <th>Status</th>
<th></th>
<th></th>
<th></th>
@@ -22,13 +22,13 @@
<% @tournaments.each do |tournament| %>
<tr>
<td><%= tournament.game %></td>
+ <td><%= tournament.status %></td>
<td><%= tournament.min_players_per_team %></td>
<td><%= tournament.max_players_per_team %></td>
<td><%= tournament.min_teams_per_match %></td>
<td><%= tournament.max_teams_per_match %></td>
<td><%= tournament.set_rounds %></td>
<td><%= tournament.randomized_teams %></td>
- <td><%= tournament.status %></td>
<td><%= link_to 'Show', tournament %></td>
<td><%= link_to 'Edit', edit_tournament_path(tournament) %></td>
<td><%= link_to 'Destroy', tournament, method: :delete, data: { confirm: 'Are you sure?' } %></td>
diff --git a/app/views/tournaments/index.json.jbuilder b/app/views/tournaments/index.json.jbuilder
index df8eee4..e95c6a7 100644
--- a/app/views/tournaments/index.json.jbuilder
+++ b/app/views/tournaments/index.json.jbuilder
@@ -1,4 +1,4 @@
json.array!(@tournaments) do |tournament|
- json.extract! tournament, :id, :game_id, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :status
+ json.extract! tournament, :id, :game_id, :status, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams
json.url tournament_url(tournament, format: :json)
end
diff --git a/app/views/tournaments/join.html.erb b/app/views/tournaments/join.html.erb
new file mode 100644
index 0000000..1d38d68
--- /dev/null
+++ b/app/views/tournaments/join.html.erb
@@ -0,0 +1,2 @@
+ <%= @user.name %>
+
diff --git a/app/views/tournaments/show.html.erb b/app/views/tournaments/show.html.erb
index a04c852..c3a40e7 100644
--- a/app/views/tournaments/show.html.erb
+++ b/app/views/tournaments/show.html.erb
@@ -12,6 +12,11 @@
</p>
<p>
+ <strong>Status:</strong>
+ <%= @tournament.status %>
+</p>
+
+<p>
<strong>Min players per team:</strong>
<%= @tournament.min_players_per_team %>
</p>
@@ -54,4 +59,5 @@
<%= link_to 'Edit', edit_tournament_path(@tournament) %> |
<%= link_to 'Back', tournaments_path %>
-<% end %> \ No newline at end of file
+<% end %>
+
diff --git a/app/views/tournaments/show.json.jbuilder b/app/views/tournaments/show.json.jbuilder
index 7bedd4b..de2fbe0 100644
--- a/app/views/tournaments/show.json.jbuilder
+++ b/app/views/tournaments/show.json.jbuilder
@@ -1 +1 @@
-json.extract! @tournament, :id, :game_id, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :status, :created_at, :updated_at
+json.extract! @tournament, :id, :game_id, :status, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :created_at, :updated_at