diff options
author | AndrewMurrell <amurrel@purdue.edu> | 2014-03-06 22:34:08 -0500 |
---|---|---|
committer | AndrewMurrell <amurrel@purdue.edu> | 2014-03-06 22:34:08 -0500 |
commit | 3ce5876375cbb3057ffc96e2886ba57cbd875dc9 (patch) | |
tree | e59dc46b293cdcd4ad8ad5b33bd4703f65adb0d9 /app | |
parent | ce8b05ed8fa3466c727269daa47ba7df672fdca1 (diff) | |
parent | 70bae69d731afc5300ffa5b176732ebe27d0810f (diff) |
Fixed some merge errors in show.html.erb
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/tournaments_controller.rb | 18 | ||||
-rw-r--r-- | app/models/team_match_pair.rb | 4 | ||||
-rw-r--r-- | app/models/tournament.rb | 20 | ||||
-rw-r--r-- | app/models/tournament_user_pair.rb | 4 | ||||
-rw-r--r-- | app/models/user.rb | 4 | ||||
-rw-r--r-- | app/models/user_team_pair.rb | 4 | ||||
-rw-r--r-- | app/models/user_tournament_pair.rb | 4 | ||||
-rw-r--r-- | app/views/tournaments/_form.html.erb | 8 | ||||
-rw-r--r-- | app/views/tournaments/index.html.erb | 4 | ||||
-rw-r--r-- | app/views/tournaments/index.json.jbuilder | 2 | ||||
-rw-r--r-- | app/views/tournaments/join.html.erb | 2 | ||||
-rw-r--r-- | app/views/tournaments/show.html.erb | 8 | ||||
-rw-r--r-- | app/views/tournaments/show.json.jbuilder | 2 |
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 |