From fdca9f33aadea4f139619f35e992760a0355d007 Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Sat, 19 Apr 2014 22:20:35 -0400 Subject: redirect is slightly more intelligent --- app/controllers/tournaments_controller.rb | 10 +++++----- app/views/tournaments/_selected.html.erb | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'app') diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb index bb1d222..57e73aa 100644 --- a/app/controllers/tournaments_controller.rb +++ b/app/controllers/tournaments_controller.rb @@ -127,12 +127,11 @@ class TournamentsController < ApplicationController private # Use callbacks to share common setup or constraints between actions. def set_tournament - if @tournament.nil? - respond_to do |format| - format.html { redirect_to @tournament, notice: 'That tournament no longer exists.' } - end + begin + @tournament = Tournament.find(params[:id]) + rescue + redirect_to tournaments_url, notice: 'That tournament no longer exists.' end - @tournament = Tournament.find(params[:id]) end # Never trust parameters from the scary internet, only allow the white list through. @@ -148,4 +147,5 @@ class TournamentsController < ApplicationController def check_edit set_tournament end + end diff --git a/app/views/tournaments/_selected.html.erb b/app/views/tournaments/_selected.html.erb index c0f8367..d37c741 100644 --- a/app/views/tournaments/_selected.html.erb +++ b/app/views/tournaments/_selected.html.erb @@ -23,9 +23,9 @@ <% when 0 %> <%= setting_fields.text_field( setting.name, :name ) %> <% when 1 %> - <%# setting_fields.text_area( setting.name, setting.name ) %> + <%= setting_fields.text_area( setting.name, setting.name ) %> <% when 2 %> - <%# setting_fields.collection_radio_buttons( setting.name, setting.type_opt.split(',') ) %> + <%= setting_fields.collection_radio_buttons( setting.name, setting.type_opt.split(',') ) %> <% when 3 %> <%= setting_fields.collection_check_boxes( setting.name, setting.type_opt.split(',') ) %> <% when 4 %> -- cgit v1.2.3-54-g00ecf From 16750bab527d574867a64e3092f7335a028195cb Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Sun, 20 Apr 2014 00:04:55 -0400 Subject: Made settings work for all the different types, CSS needs to be updated. --- app/views/tournaments/_selected.html.erb | 12 ++++++++---- db/seeds.rb | 5 +++++ 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/views/tournaments/_selected.html.erb b/app/views/tournaments/_selected.html.erb index d37c741..8bb0532 100644 --- a/app/views/tournaments/_selected.html.erb +++ b/app/views/tournaments/_selected.html.erb @@ -19,15 +19,18 @@ <%= fields_for "tournament[preferences]", @tournament.preferences do |setting_fields| %> <% @game.settings.each do |setting| %> +

+ <%= setting_fields.label setting.name %> +
<% case setting.stype %> <% when 0 %> - <%= setting_fields.text_field( setting.name, :name ) %> + <%= setting_fields.text_field( setting.name ) %> <% when 1 %> - <%= setting_fields.text_area( setting.name, setting.name ) %> + <%= setting_fields.text_area( setting.name ) %> <% when 2 %> - <%= setting_fields.collection_radio_buttons( setting.name, setting.type_opt.split(',') ) %> + <%= setting_fields.collection_radio_buttons( setting.name, setting.type_opt.split(','), :first, :last, { item_wrapper_tag: false } ) %> <% when 3 %> - <%= setting_fields.collection_check_boxes( setting.name, setting.type_opt.split(',') ) %> + <%= setting_fields.collection_check_boxes( setting.name, setting.type_opt.split(','), :first, :last, { item_wrapper_tag: false } ) %> <% when 4 %> <%= setting_fields.radio_button( setting.name, "true" ) %> <%= setting_fields.radio_button( setting.name, "false" ) %> @@ -35,6 +38,7 @@ <%= setting_fields.select( setting.name, setting.type_opt.split(',') ) %> <% end %> <% end %> +

<% end %> <%= f.submit %> <% end %> diff --git a/db/seeds.rb b/db/seeds.rb index 85ccd92..fe7c32e 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -12,6 +12,7 @@ Server.create(default_user_permissions: p[:join_tournament] | p[:create_pm]) Game.create(name: "League of Legends",min_players_per_team: 5, max_players_per_team: 5, min_teams_per_match: 2, max_teams_per_match: 2, set_rounds: nil, randomized_teams: true) Game.create(name: "Chess", min_players_per_team: 1, max_players_per_team: 1, min_teams_per_match: 2, max_teams_per_match: 2, set_rounds: nil, randomized_teams: true) Game.create(name: "Hearthstone", min_players_per_team: 1, max_players_per_team: 1, min_teams_per_match: 2, max_teams_per_match: 2, set_rounds: 1, randomized_teams: false) +Game.create(name: "Rock, Paper, Scissors", min_players_per_team: 1, max_players_per_team: 3, min_teams_per_match: 1, max_teams_per_match: nil, set_rounds: nil, randomized_teams: false) Game.find_by_name("League of Legends").settings.create(name: "Map", default: "Summoners Rift", type_opt: "Summoners Rift,Twisted Treeline,Crystal Scar,Haunted Abyss", description: "Select a map to play on.", stype: 5, display_order: 1) Game.find_by_name("League of Legends").settings.create(name: "Pick Type", type_opt: "Blind Pick,Draft", description: "Select a pick type.", stype: 5, display_order: 2) @@ -20,6 +21,10 @@ Game.find_by_name("Chess").settings.create(name: "Time Control", description: "E Game.find_by_name("Hearthstone").settings.create(name: "Deck Name", description: "Enter a name for your deck, be descriptive.", stype: 1, display_order: 1) +Game.find_by_name("Rock, Paper, Scissors").settings.create(name: "Favorite Object", description: "What is your favorite object in RPS?", type_opt: "Rock,Paper,Scissors", stype: 2, display_order: 2) +Game.find_by_name("Rock, Paper, Scissors").settings.create(name: "Lizard, Spock allowed?", description: "Will you allow Lizard and Spock?", stype: 4, display_order: 1) +Game.find_by_name("Rock, Paper, Scissors").settings.create(name: "Why are those up there even called radio buttons?", description: "Check boxes make sense at least", type_opt: "I do not know.,There is now spoon.,Wow.,Because electricity.,Wat?", stype: 2, display_order: 3) + unless ENV["RAILS_ENV"] and ENV["RAILS_ENV"] != "development" User.create(name: "Administrator", user_name: "admin", email: "root@localhost.lan", password: "password", password_confirmation: "password", permissions: 0xFFFFFFFF) -- cgit v1.2.3-54-g00ecf