diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/tournaments_controller.rb | 13 | ||||
-rw-r--r-- | app/controllers/users_controller.rb | 17 | ||||
-rw-r--r-- | app/models/remote_username.rb | 2 | ||||
-rw-r--r-- | app/views/tournaments/_selected.html.erb | 9 | ||||
-rw-r--r-- | app/views/tournaments/new.html.erb | 2 | ||||
-rw-r--r-- | app/views/users/show.html.erb | 8 |
6 files changed, 42 insertions, 9 deletions
diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb index 03dc5b8..b276368 100644 --- a/app/controllers/tournaments_controller.rb +++ b/app/controllers/tournaments_controller.rb @@ -32,7 +32,11 @@ class TournamentsController < ApplicationController # GET /tournaments/new def new @games = Game.all - @tournament = Tournament.new(game: Game.find_by_id(params[:game])) + if params[:tournament] + @tournament = Tournament.new(game: Game.find(params[:tournament][:game_id])) + else + @tournament = Tournament.new() + end end # GET /tournaments/1/edit @@ -146,7 +150,12 @@ 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, :status, :name, :min_players_per_team, :max_players_per_team, :min_teams_per_match, :max_teams_per_match, :set_rounds, :randomized_teams, :sampling_method) + permitted = [: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] + if params[:tournament][:game_id] + game = Game.find(params[:tournament][:game_id]) + permitted.push(:settings => game.settings.collect{|s| s.name}) + end + params.require(:tournament).permit(permitted) end def is_owner?(object) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c3261b8..cfa5d67 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,5 +1,8 @@ class UsersController < ApplicationController + require 'httparty' + require 'json' + # GET /users # GET /users.json @@ -74,6 +77,20 @@ class UsersController < ApplicationController end end + def set_remote + game = Game.find_by_name("League of Legends") + + remote_username = HTTParty.get("https://prod.api.pvp.net/api/lol/na/v1.3/summoner/by-name/#{@name.downcase}?api_key=ad539f86-22fd-474d-9279-79a7a296ac38") + + remote = @user.find_remote_username(game) + if remote.nil? + @user.remote_username.create(game: game, value: remote_username) + else + remote.value = remote_username + remote.save + end + end + private # Use callbacks to share common setup or constraints between actions. def set_user diff --git a/app/models/remote_username.rb b/app/models/remote_username.rb index e5d0a8c..c2c3d20 100644 --- a/app/models/remote_username.rb +++ b/app/models/remote_username.rb @@ -9,4 +9,4 @@ class RemoteUsername < ActiveRecord::Base def value=(v) self.json_value = v.to_json end -end +end diff --git a/app/views/tournaments/_selected.html.erb b/app/views/tournaments/_selected.html.erb index 4efd17a..9240c49 100644 --- a/app/views/tournaments/_selected.html.erb +++ b/app/views/tournaments/_selected.html.erb @@ -2,18 +2,17 @@ <%= render "common/error_messages", :target => @tournament %> <%= f.hidden_field(:game_id) %> - <% @game = Game.find(params[:game]) %> <% @tournament.attributes.each do |name, value| %> <% if (name == "id") or (name =~ /.*_at$/) or (name == "game_id") or (name == "status") or (name == "set_rounds") %> <% next %> <% end %> <p> <%= f.label name %><br> - <% unless @game.attributes[name].nil? %> + <% unless @tournament.game.attributes[name].nil? %> <% if name == "sampling_method" %> - <%= f.select( name, @game.sampling_method.split(',') ) %> + <%= f.select( name, @tournament.game.sampling_method.split(',') ) %> <% else %> - <%= f.text_field(name, :value => @game.attributes[name] ) %> + <%= f.text_field(name, :value => @tournament.game.attributes[name] ) %> <% end %> <% else %> <%= f.text_field name %> @@ -22,7 +21,7 @@ <% end %> <%= fields_for "tournament[settings]", @tournament.settings do |setting_fields| %> - <% @game.settings.each do |setting| %> + <% @tournament.game.settings.each do |setting| %> <p> <%= setting_fields.label setting.name %> <br> diff --git a/app/views/tournaments/new.html.erb b/app/views/tournaments/new.html.erb index c2b9904..2837708 100644 --- a/app/views/tournaments/new.html.erb +++ b/app/views/tournaments/new.html.erb @@ -1,7 +1,7 @@ <h1>New Tournament</h1> <%= form_tag(new_tournament_path, method: "get") do %> - <%= select_tag('game', + <%= select_tag('tournament[game_id]', options_from_collection_for_select(@games, 'id', 'name', @tournament.game.nil? || @tournament.game.id), :prompt => "Select a Game Type") %> <%= submit_tag("Select", :class => "btn") %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index b85cbda..81eee6f 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -20,6 +20,14 @@ too single </p> +<p> + <%= label :username %><br> + <%= text_field %> + + <br><input type="submit" value="Submit"><br> + +</p> + <div class="row"> <div class="col-md-6"> <h3> Recent Tournaments Played </h3> |