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 +++++++ config/routes.rb | 8 +++++++- 5 files changed, 22 insertions(+), 11 deletions(-) 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 diff --git a/config/routes.rb b/config/routes.rb index d7807f0..a4df5b4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,4 @@ Leaguer::Application.routes.draw do - resources :brackets resources :sessions, only: [:new, :create, :destroy] @@ -15,6 +14,7 @@ Leaguer::Application.routes.draw do resources :tournaments do resources :matches, only: [:index, :show, :update] + resources :brackets end resource :server, only: [:show, :edit, :update] @@ -33,6 +33,12 @@ Leaguer::Application.routes.named_routes.module.module_eval do def match_url(match, options={}) tournament_match_url(match.tournament_stage.tournament, match, options) end + def bracket_path(bracket, options={}) + tournament_bracket_path(bracket.tournament, bracket, options) + end + def bracket_url(bracket, options={}) + tournament_bracket_url(bracket.tournament, bracket, options) + end end if false -- cgit v1.1-4-g5e80