From 96dd3fbe302eec54b34678e098d3b59710b09b5f Mon Sep 17 00:00:00 2001 From: tkimia Date: Sat, 26 Apr 2014 19:16:19 -0400 Subject: prelim bracket control --- app/controllers/brackets_controller.rb | 10 +++------- app/models/user.rb | 4 ++++ app/views/brackets/new.html.erb | 4 +--- app/views/common/_show_tournament.html.erb | 7 +++++++ 4 files changed, 15 insertions(+), 10 deletions(-) (limited to 'app') diff --git a/app/controllers/brackets_controller.rb b/app/controllers/brackets_controller.rb index fe43ca9..ebd0c6b 100644 --- a/app/controllers/brackets_controller.rb +++ b/app/controllers/brackets_controller.rb @@ -12,11 +12,6 @@ class BracketsController < ApplicationController def show end - # GET /brackets/new - def new - @bracket = Bracket.new - end - # GET /brackets/1/edit def edit end @@ -29,7 +24,7 @@ class BracketsController < ApplicationController 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 +59,12 @@ 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 # 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) + params.fetch(:bracket, {}).permit(:user_id, :tournament_id, :name) end end diff --git a/app/models/user.rb b/app/models/user.rb index d87f988..b2c7862 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -74,6 +74,10 @@ class User < ActiveRecord::Base :edit_permissions => (2**19), :edit_server => (2**20), + + :create_bracket => (2**21), + :edit_bracket => (2**22), + :delete_bracket => (2**23) } end diff --git a/app/views/brackets/new.html.erb b/app/views/brackets/new.html.erb index c379c15..91d0033 100644 --- a/app/views/brackets/new.html.erb +++ b/app/views/brackets/new.html.erb @@ -1,5 +1,3 @@

New bracket

-<%= render 'form' %> - -<%= link_to 'Back', brackets_path %> +<%= link_to 'Back', tournament_brackets_path %> diff --git a/app/views/common/_show_tournament.html.erb b/app/views/common/_show_tournament.html.erb index 0f60fad..fb31420 100644 --- a/app/views/common/_show_tournament.html.erb +++ b/app/views/common/_show_tournament.html.erb @@ -29,6 +29,13 @@ <% else %>

You've signed up for this tournament!

<% end %> + <%= form_tag(tournament_brackets_path(target), method: "post") do %> + <%= label :user_id, nil, style: "display: none;" %> + <%= text_field_tag :user_id, current_user.id, style: "display: none;" %> + <%= label :tournament_id, nil, style: "display: none;" %> + <%= text_field_tag :tournament_id, target.id, style: "display: none;" %> + <%= submit_tag("Make Bracket") %> + <% end %> <% end %> \ No newline at end of file -- cgit v1.2.3-2-g168b From 93e291c8e5002fdea906bb8c96cd528fa8b75935 Mon Sep 17 00:00:00 2001 From: tkimia Date: Sat, 26 Apr 2014 19:39:57 -0400 Subject: brackets just get created --- app/controllers/brackets_controller.rb | 17 +++++++++++++---- app/models/tournament.rb | 1 + app/views/brackets/index.html.erb | 7 ++----- app/views/common/_show_tournament.html.erb | 4 ---- 4 files changed, 16 insertions(+), 13 deletions(-) (limited to 'app') diff --git a/app/controllers/brackets_controller.rb b/app/controllers/brackets_controller.rb index ebd0c6b..37f1803 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 @@ -19,7 +20,7 @@ class BracketsController < ApplicationController # POST /brackets # POST /brackets.json def create - @bracket = Bracket.new(bracket_params) + @bracket = @tournament.brackets.create(user: current_user) respond_to do |format| if @bracket.save @@ -63,8 +64,16 @@ class BracketsController < ApplicationController @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.fetch(:bracket, {}).permit(:user_id, :tournament_id, :name) + params.require(:bracket).permit(:user_id, :tournament_id, :name) + end + + def is_owner?(bracket) + bracket.user == current_user end end diff --git a/app/models/tournament.rb b/app/models/tournament.rb index 861be6c..7460a7d 100644 --- a/app/models/tournament.rb +++ b/app/models/tournament.rb @@ -1,6 +1,7 @@ class Tournament < ActiveRecord::Base belongs_to :game has_many :stages, class_name: "TournamentStage" + has_many :brackets has_many :settings_raw, class_name: "TournamentSetting" 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" diff --git a/app/views/brackets/index.html.erb b/app/views/brackets/index.html.erb index 2195d69..9effe37 100644 --- a/app/views/brackets/index.html.erb +++ b/app/views/brackets/index.html.erb @@ -8,7 +8,6 @@ Name - @@ -18,9 +17,8 @@ <%= bracket.user %> <%= bracket.tournament %> <%= bracket.name %> - <%= link_to 'Show', bracket %> - <%= link_to 'Edit', edit_bracket_path(bracket) %> - <%= link_to 'Destroy', bracket, method: :delete, data: { confirm: 'Are you sure?' } %> + <%= link_to 'Show', tournament_bracket_path(@tournament, bracket) %> + <%= link_to 'Edit', edit_tournament_bracket_path(@tournament, bracket) %> <% end %> @@ -28,4 +26,3 @@
-<%= link_to 'New Bracket', new_bracket_path %> diff --git a/app/views/common/_show_tournament.html.erb b/app/views/common/_show_tournament.html.erb index fb31420..b16a37b 100644 --- a/app/views/common/_show_tournament.html.erb +++ b/app/views/common/_show_tournament.html.erb @@ -30,10 +30,6 @@

You've signed up for this tournament!

<% end %> <%= form_tag(tournament_brackets_path(target), method: "post") do %> - <%= label :user_id, nil, style: "display: none;" %> - <%= text_field_tag :user_id, current_user.id, style: "display: none;" %> - <%= label :tournament_id, nil, style: "display: none;" %> - <%= text_field_tag :tournament_id, target.id, style: "display: none;" %> <%= submit_tag("Make Bracket") %> <% end %> <% end %> -- cgit v1.2.3-2-g168b From e60adb874faffd9bac678a19043532ff33dc6b07 Mon Sep 17 00:00:00 2001 From: tkimia Date: Sat, 26 Apr 2014 20:14:00 -0400 Subject: bracket creation is good --- app/controllers/brackets_controller.rb | 2 ++ app/models/bracket.rb | 7 +++++++ app/views/brackets/show.html.erb | 14 ++++++++------ 3 files changed, 17 insertions(+), 6 deletions(-) (limited to 'app') diff --git a/app/controllers/brackets_controller.rb b/app/controllers/brackets_controller.rb index 37f1803..ed335d6 100644 --- a/app/controllers/brackets_controller.rb +++ b/app/controllers/brackets_controller.rb @@ -21,6 +21,8 @@ class BracketsController < ApplicationController # POST /brackets.json def create @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 diff --git a/app/models/bracket.rb b/app/models/bracket.rb index e8d9c5a..acd33ca 100644 --- a/app/models/bracket.rb +++ b/app/models/bracket.rb @@ -1,4 +1,11 @@ class Bracket < ActiveRecord::Base belongs_to :user belongs_to :tournament + has_many :bracket_matches + + def create_matches + tournament.stages.first.matches.each do |m| + bracket_matches.create(match: m) + end + end end diff --git a/app/views/brackets/show.html.erb b/app/views/brackets/show.html.erb index 9c7c14b..2e92bfb 100644 --- a/app/views/brackets/show.html.erb +++ b/app/views/brackets/show.html.erb @@ -1,13 +1,11 @@ -

<%= notice %>

-

User: - <%= @bracket.user %> + <%= @bracket.user.user_name %>

Tournament: - <%= @bracket.tournament %> + <%= @bracket.tournament.name %>

@@ -15,5 +13,9 @@ <%= @bracket.name %>

-<%= link_to 'Edit', edit_bracket_path(@bracket) %> | -<%= link_to 'Back', brackets_path %> +<% @bracket.bracket_matches.each do |m| %> +

<%= m.match.id %>

+<% end %> + + +<%= link_to 'Back', tournaments_path %> -- cgit v1.2.3-2-g168b