summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authornfoy <nfoy@purdue.edu>2014-04-26 20:57:26 -0400
committernfoy <nfoy@purdue.edu>2014-04-26 20:57:26 -0400
commit31d458e59077340f28955033735f5c433197cb75 (patch)
tree8784a35b5d50f32ce693c0427b277f7238c6d691 /app/controllers
parent00f3d70445d7cae0976ec9794e555c52a1765b24 (diff)
parentedcca83c6c251a79afcd83760cf20ebaf00b3b32 (diff)
Merge branch 'master' of https://github.com/LukeShu/leaguer
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/alerts_controller.rb5
-rw-r--r--app/controllers/brackets_controller.rb25
-rw-r--r--app/controllers/games_controller.rb2
-rw-r--r--app/controllers/matches_controller.rb48
-rw-r--r--app/controllers/tournaments_controller.rb5
5 files changed, 29 insertions, 56 deletions
diff --git a/app/controllers/alerts_controller.rb b/app/controllers/alerts_controller.rb
index 6ab3663..1d09864 100644
--- a/app/controllers/alerts_controller.rb
+++ b/app/controllers/alerts_controller.rb
@@ -24,6 +24,11 @@ class AlertsController < ApplicationController
def create
@alert = Alert.new(alert_params)
@alert.author = current_user
+ users = {}
+ users = Users.all
+
+ #current_user.send_message(users, @alert.message, "Pay Attention!")
+
respond_to do |format|
if @alert.save
format.html { redirect_to @alert, notice: 'Alert was successfully created.' }
diff --git a/app/controllers/brackets_controller.rb b/app/controllers/brackets_controller.rb
index fe43ca9..ed335d6 100644
--- a/app/controllers/brackets_controller.rb
+++ b/app/controllers/brackets_controller.rb
@@ -1,10 +1,11 @@
class BracketsController < ApplicationController
- before_action :set_bracket, only: [:show, :edit, :update, :destroy]
+ before_action :set_tournament, only: [:index, :create]
# GET /brackets
# GET /brackets.json
def index
- @brackets = Bracket.all
+ @tournament = Tournament.find(params[:tournament_id])
+ @brackets = @tournament.brackets
end
# GET /brackets/1
@@ -12,11 +13,6 @@ class BracketsController < ApplicationController
def show
end
- # GET /brackets/new
- def new
- @bracket = Bracket.new
- end
-
# GET /brackets/1/edit
def edit
end
@@ -24,12 +20,14 @@ class BracketsController < ApplicationController
# POST /brackets
# POST /brackets.json
def create
- @bracket = Bracket.new(bracket_params)
+ @bracket = @tournament.brackets.create(user: current_user)
+ @bracket.name = current_user.user_name + "'s Prediction for " + @tournament.name
+ @bracket.create_matches
respond_to do |format|
if @bracket.save
format.html { redirect_to @bracket, notice: 'Bracket was successfully created.' }
- format.json { render action: 'show', status: :created, location: @bracket }
+ format.json { render action: 'edit', status: :created, location: @bracket }
else
format.html { render action: 'new' }
format.json { render json: @bracket.errors, status: :unprocessable_entity }
@@ -64,11 +62,20 @@ class BracketsController < ApplicationController
private
# Use callbacks to share common setup or constraints between actions.
def set_bracket
+ @tournament = Tournament.find(params[:tournament_id])
@bracket = Bracket.find(params[:id])
end
+ def set_tournament
+ @tournament = Tournament.find(params[:tournament_id])
+ end
+
# Never trust parameters from the scary internet, only allow the white list through.
def bracket_params
params.require(:bracket).permit(:user_id, :tournament_id, :name)
end
+
+ def is_owner?(bracket)
+ bracket.user == current_user
+ end
end
diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb
index aec5294..09119c8 100644
--- a/app/controllers/games_controller.rb
+++ b/app/controllers/games_controller.rb
@@ -67,6 +67,6 @@ class GamesController < ApplicationController
# Never trust parameters from the scary internet, only allow the white list through.
def game_params
- params.require(:game).permit(:parent_id, :name, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :sampling_method)
+ params.require(:game).permit(:parent_id, :name, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :sampling_method, :scoring_method)
end
end
diff --git a/app/controllers/matches_controller.rb b/app/controllers/matches_controller.rb
index 6709a53..a2a1269 100644
--- a/app/controllers/matches_controller.rb
+++ b/app/controllers/matches_controller.rb
@@ -183,54 +183,13 @@ class MatchesController < ApplicationController
end
end
when "finish"
-
#
# Get the winner and blowout status from the params given by the correct sampling view
#
-
- #in general
- #provide contribution
- #if all contributions are in, update statistics
-
-
- #make this use the statistics interface for scoring and ScoringAlgorithms
-
- @match.winner = @match.teams.find_by_id(params['winner'])
- @match.statistics.create(name: "blowout", user: nil, value: 0)
-
-
- #How to access the blowout statistic of a match:
- @match.statistics.where(:name => "blowout").first.value
-
-
-
- #@match.statistics.create(name: 'score', value: @tournament.settings.where(:name => 'Scoring Method').value.constantize.score(@match, @match.statistics)
-
-=begin
- # Individual scores
- #scores = params["scores"]
- #scores.each do |user_name, score|
- # Statistic.create(user: User.find_by_user_name(user_name), match: @match, name: "score", value: score.to_i)
- #end
-
- # Team scores (processing for manual)
- team_scores = {}
- @match.teams.each do |team|
- team_scores[team] = 0
- team.users.each do |user|
- team_scores[team] += scores[user.user_name].to_i
- end
+ unless @match.tournament_stage.tournament.sampling.sampling_done?
+ @match.tournament_stage.tournament.sampling.handle_user_interaction(@match, current_user, params)
end
- teams = team_scores.invert
- @match.winner = teams[teams.keys.sort.last]
-
- # Schedule next match
- #cur_match_num = @tournament.matches_ordered.invert[@match]
- #unless cur_match_num == 1
- # @match.winner.matches.push(@tournament.matches_ordered[cur_match_num/2])
- #end
-=end
# Skip peer evaluation if there aren't enough players per team
peer = false
@@ -241,7 +200,6 @@ class MatchesController < ApplicationController
end
@match.status = peer ? 2 : 3
-
respond_to do |format|
if @match.save
format.html { redirect_to tournament_match_path(@tournament, @match), notice: 'Peer evaluation started.' }
@@ -256,6 +214,8 @@ class MatchesController < ApplicationController
# Update user scores via scoring method
#
+ #update this to use scoring interface
+
order = params[:review_action]
base_score = 2
next_score = 3
diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb
index 1354ad6..60f8789 100644
--- a/app/controllers/tournaments_controller.rb
+++ b/app/controllers/tournaments_controller.rb
@@ -116,7 +116,8 @@ class TournamentsController < ApplicationController
success = true
ActiveRecord::Base.transaction do
success &= @tournament.save &&
- success &= @tournament.stages.create(scheduling: "elimination")
+ sched = tournament_attribute_params[:type_opt]
+ success &= @tournament.stages.create(scheduling: sched)
success &= @tournament.stages.first.create_matches
end
if success
@@ -162,7 +163,7 @@ class TournamentsController < ApplicationController
# Never trust parameters from the scary internet, only allow the white list through.
def tournament_attribute_params
if params[:tournament]
- params.require(:tournament).permit(:game_id, :status, :name, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :sampling_method)
+ params.require(:tournament).permit(:game_id, :status, :name, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :sampling_method, :scoring_method)
else
return {}
end