summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authornfoy <nfoy@purdue.edu>2014-04-23 20:41:03 -0400
committernfoy <nfoy@purdue.edu>2014-04-23 20:41:03 -0400
commit9afd5a4f7a86eeaab3fa8a0c25609ac7977e0489 (patch)
tree8d47adc08a58a8936e2026f30852f877ee47cf64 /app
parent422a7b39a06e2fe54415f2be08548021a981e8a8 (diff)
parent7ff82b901705475f97e277a9f3f31756bd3ce948 (diff)
Merge branch 'master' of https://github.com/LukeShu/leaguer
Diffstat (limited to 'app')
-rw-r--r--app/assets/stylesheets/custom.css.scss13
-rw-r--r--app/assets/stylesheets/scaffolds.css.scss2
-rw-r--r--app/assets/stylesheets/tournaments.css.scss10
-rw-r--r--app/controllers/search_controller.rb19
-rw-r--r--app/controllers/tournaments_controller.rb13
-rw-r--r--app/controllers/users_controller.rb17
-rw-r--r--app/models/remote_username.rb2
-rw-r--r--app/views/common/_show_tournament.html.erb4
-rw-r--r--app/views/common/_show_user.html.erb4
-rw-r--r--app/views/search/go.html.erb16
-rw-r--r--app/views/tournaments/_selected.html.erb9
-rw-r--r--app/views/tournaments/new.html.erb4
-rw-r--r--app/views/users/show.html.erb8
13 files changed, 103 insertions, 18 deletions
diff --git a/app/assets/stylesheets/custom.css.scss b/app/assets/stylesheets/custom.css.scss
index d299dda..4104235 100644
--- a/app/assets/stylesheets/custom.css.scss
+++ b/app/assets/stylesheets/custom.css.scss
@@ -1,5 +1,11 @@
@import "bootstrap";
+$page-color: #444;
+$toolbar-color: black;
+$orange: #DD9125;
+$darker-orange: #9D4102;
+$link-yellow: #FFC50D;
+
header > nav {
@extend .navbar;
@extend .navbar-inverse;
@@ -41,6 +47,13 @@ input[type="text"], input[type="password"]{
margin: 0 0 5px 0;
}
+select {
+ background-color: #333;
+ padding: 5px;
+ border: none;
+ color: #DD9125 !important;
+}
+
p.errors {
background-color: rgba(0,0,0,0.5);;
color: red;
diff --git a/app/assets/stylesheets/scaffolds.css.scss b/app/assets/stylesheets/scaffolds.css.scss
index e8fe9c5..eb1f751 100644
--- a/app/assets/stylesheets/scaffolds.css.scss
+++ b/app/assets/stylesheets/scaffolds.css.scss
@@ -19,7 +19,7 @@ body {
height: 100%;
}
-h1, h2, h3, h4, h5, p, li{
+h1, h2, h3, h4, h5, p, li, label{
color: $orange;
}
diff --git a/app/assets/stylesheets/tournaments.css.scss b/app/assets/stylesheets/tournaments.css.scss
index 41d6023..cc55253 100644
--- a/app/assets/stylesheets/tournaments.css.scss
+++ b/app/assets/stylesheets/tournaments.css.scss
@@ -75,6 +75,16 @@ div.tournament-listing {
padding: 5px 0 0 0;
}
}
+
+ .t-game{
+ font-weight: bold;
+ text-align: center;
+ }
+
+ .t-image{
+ display: block;
+ margin:auto;
+ }
}
div.leave-buttons {
diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb
index 51aee9e..d312623 100644
--- a/app/controllers/search_controller.rb
+++ b/app/controllers/search_controller.rb
@@ -1,13 +1,28 @@
class SearchController < ApplicationController
def go
+ stringMade = false;
+ @games = Game.all
@query = params[:query]
+ @gametype = params[:game_type]
- if (@query.nil?) then
+ if ( @gametype.nil? and (@query.nil? or @query.empty?)) then
return
end
- @tournaments = Tournament.where("name LIKE '%#{@query}%'")
+ qstring = ""
+ if (!@query.empty?)
+ qstring += "name LIKE '%#{@query}%'"
+ stringMade = true
+ end
+ if (!@gametype.nil? and !@gametype.empty?)
+ if (stringMade)
+ qstring += " AND "
+ end
+ qstring += "game_id=#{@gametype}"
+ end
+
+ @tournaments = Tournament.where(qstring)
@players = User.where("name LIKE '%#{@query}%'")
end
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/common/_show_tournament.html.erb b/app/views/common/_show_tournament.html.erb
index 89d8f53..0f60fad 100644
--- a/app/views/common/_show_tournament.html.erb
+++ b/app/views/common/_show_tournament.html.erb
@@ -1,5 +1,7 @@
<div class="row tournament-listing">
- <div class="col-md-2 col-sm-3 col-xs-6"><%= image_tag ('http://www.gravatar.com/avatar/' + Digest::MD5.hexdigest(target.hosts.first.email) + '?s=100&d=mm') %></div>
+ <div class="col-md-2 col-sm-3 col-xs-6"><%= image_tag('http://www.gravatar.com/avatar/' + Digest::MD5.hexdigest(target.hosts.first.email) + '?s=100&d=mm', class: "t-image") %>
+ <p class="t-game"> <%= Game.find(target.game_id).name %></p>
+ </div>
<div class="col-md-8 col-sm-7 col-xs-6">
<%# "header" %>
<%= link_to(target) do %><h3><%= target.name %></h3><% end %>
diff --git a/app/views/common/_show_user.html.erb b/app/views/common/_show_user.html.erb
index 70f1ca4..dd136a0 100644
--- a/app/views/common/_show_user.html.erb
+++ b/app/views/common/_show_user.html.erb
@@ -1,8 +1,8 @@
<div class="row user-listing">
- <div class="col-md-3 col-sm-3 col-xs-6"><%= image_tag ('http://www.gravatar.com/avatar/' + Digest::MD5.hexdigest(target.email) + '?s=100&d=mm') %></div>
+ <div class="col-md-3 col-sm-4 col-xs-4"><%= image_tag ('http://www.gravatar.com/avatar/' + Digest::MD5.hexdigest(target.email) + '?s=100&d=mm') %></div>
- <div class="col-md-9 col-sm-9 col-xs-6">
+ <div class="col-md-9 col-sm-8 col-xs-8">
<%# "header" %>
<%= link_to(target) do %><h3><%= target.user_name %></h3><% end %>
diff --git a/app/views/search/go.html.erb b/app/views/search/go.html.erb
index d2bf8f3..ea2dabf 100644
--- a/app/views/search/go.html.erb
+++ b/app/views/search/go.html.erb
@@ -4,12 +4,24 @@
</div>
<div class="expanded">
<h5><a href="#collapse">Advanced Search [hide]</a></h5>
- <p>This is where the advancedsearch will go.</p>
+ <%= form_tag("/search", method: "get") do %>
+ <div class="form-group">
+ <%= label_tag :query, 'Find:' %>
+ <%= text_field_tag(:query, params[:query]) %>
+ </div>
+ <div class="form-group">
+ <%= label_tag :game_type, 'Game Type:' %>
+ <%= select_tag(:game_type, options_from_collection_for_select(@games, 'id', 'name'), :prompt => 'All Games') %>
+ </div>
+ <div>
+ <%= submit_tag("Search", :name=>nil) %>
+ </div>
+ <% end %>
</div>
</div>
<%# Show search results if a query was not nill %>
-<% if !@query.empty? %>
+<% if !@query.nil? and !@query.empty? %>
<% if @tournaments.empty? and @players.empty? %>
<h3> No results found for "<%= @query %>" </h3>
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 8c74068..2837708 100644
--- a/app/views/tournaments/new.html.erb
+++ b/app/views/tournaments/new.html.erb
@@ -1,10 +1,10 @@
<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 btn-success btn-xs") %>
+ <%= submit_tag("Select", :class => "btn") %>
<% end %>
<div id='ajax-form'>
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>