summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDavisLWebb <davislwebb@ymail.com>2014-02-27 17:58:14 -0500
committerDavisLWebb <davislwebb@ymail.com>2014-02-27 17:58:14 -0500
commit8d75a450ec1e34205ec4bee5587e8bddb9c89d21 (patch)
tree349c6cd9c9669c94675becdeeaac1c29fd60022e /app
parent6e20d92989739bde287c6a07c03ae3f70755660b (diff)
parent068e95231c3d2cee113cf77af67ce785d853429e (diff)
Merge branch 'master' of http://github.com/LukeShu/leaguer
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/games.js.coffee3
-rw-r--r--app/assets/stylesheets/games.css.scss3
-rw-r--r--app/controllers/games_controller.rb74
-rw-r--r--app/controllers/tournaments_controller.rb2
-rw-r--r--app/helpers/games_helper.rb2
-rw-r--r--app/models/game.rb2
-rw-r--r--app/models/game_attribute.rb3
-rw-r--r--app/models/tournament.rb1
-rw-r--r--app/models/tournament_options.rb2
-rw-r--r--app/views/games/_form.html.erb37
-rw-r--r--app/views/games/edit.html.erb6
-rw-r--r--app/views/games/index.html.erb35
-rw-r--r--app/views/games/index.json.jbuilder4
-rw-r--r--app/views/games/new.html.erb5
-rw-r--r--app/views/games/show.html.erb29
-rw-r--r--app/views/games/show.json.jbuilder1
-rw-r--r--app/views/tournaments/_form.html.erb4
-rw-r--r--app/views/tournaments/index.html.erb2
-rw-r--r--app/views/tournaments/index.json.jbuilder2
-rw-r--r--app/views/tournaments/show.html.erb5
-rw-r--r--app/views/tournaments/show.json.jbuilder2
21 files changed, 221 insertions, 3 deletions
diff --git a/app/assets/javascripts/games.js.coffee b/app/assets/javascripts/games.js.coffee
new file mode 100644
index 0000000..24f83d1
--- /dev/null
+++ b/app/assets/javascripts/games.js.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/stylesheets/games.css.scss b/app/assets/stylesheets/games.css.scss
new file mode 100644
index 0000000..db1b7bc
--- /dev/null
+++ b/app/assets/stylesheets/games.css.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the games controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb
new file mode 100644
index 0000000..4ecff17
--- /dev/null
+++ b/app/controllers/games_controller.rb
@@ -0,0 +1,74 @@
+class GamesController < ApplicationController
+ before_action :set_game, only: [:show, :edit, :update, :destroy]
+
+ # GET /games
+ # GET /games.json
+ def index
+ @games = Game.all
+ end
+
+ # GET /games/1
+ # GET /games/1.json
+ def show
+ end
+
+ # GET /games/new
+ def new
+ @game = Game.new
+ end
+
+ # GET /games/1/edit
+ def edit
+ end
+
+ # POST /games
+ # POST /games.json
+ def create
+ @game = Game.new(game_params)
+
+ respond_to do |format|
+ if @game.save
+ format.html { redirect_to @game, notice: 'Game was successfully created.' }
+ format.json { render action: 'show', status: :created, location: @game }
+ else
+ format.html { render action: 'new' }
+ format.json { render json: @game.errors, status: :unprocessable_entity }
+ end
+ end
+ end
+
+ # PATCH/PUT /games/1
+ # PATCH/PUT /games/1.json
+ def update
+ respond_to do |format|
+ if @game.update(game_params)
+ format.html { redirect_to @game, notice: 'Game was successfully updated.' }
+ format.json { head :no_content }
+ else
+ format.html { render action: 'edit' }
+ format.json { render json: @game.errors, status: :unprocessable_entity }
+ end
+ end
+ end
+
+ # DELETE /games/1
+ # DELETE /games/1.json
+ def destroy
+ @game.destroy
+ respond_to do |format|
+ format.html { redirect_to games_url }
+ format.json { head :no_content }
+ end
+ end
+
+ private
+ # Use callbacks to share common setup or constraints between actions.
+ def set_game
+ @game = Game.find(params[:id])
+ end
+
+ # Never trust parameters from the scary internet, only allow the white list through.
+ def game_params
+ params.require(:game).permit(:name, :players_per_team, :teams_per_match, :set_rounds, :randomized_teams)
+ end
+end
diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb
index ea3857c..720305f 100644
--- a/app/controllers/tournaments_controller.rb
+++ b/app/controllers/tournaments_controller.rb
@@ -69,6 +69,6 @@ class TournamentsController < ApplicationController
# Never trust parameters from the scary internet, only allow the white list through.
def tournament_params
- params[:tournament]
+ params.require(:tournament).permit(:game_id)
end
end
diff --git a/app/helpers/games_helper.rb b/app/helpers/games_helper.rb
new file mode 100644
index 0000000..2ef8c1f
--- /dev/null
+++ b/app/helpers/games_helper.rb
@@ -0,0 +1,2 @@
+module GamesHelper
+end
diff --git a/app/models/game.rb b/app/models/game.rb
new file mode 100644
index 0000000..a181c26
--- /dev/null
+++ b/app/models/game.rb
@@ -0,0 +1,2 @@
+class Game < ActiveRecord::Base
+end
diff --git a/app/models/game_attribute.rb b/app/models/game_attribute.rb
new file mode 100644
index 0000000..c12723b
--- /dev/null
+++ b/app/models/game_attribute.rb
@@ -0,0 +1,3 @@
+class GameAttribute < ActiveRecord::Base
+ belongs_to :game
+end
diff --git a/app/models/tournament.rb b/app/models/tournament.rb
index da3da0e..cc915a0 100644
--- a/app/models/tournament.rb
+++ b/app/models/tournament.rb
@@ -1,2 +1,3 @@
class Tournament < ActiveRecord::Base
+ belongs_to :game
end
diff --git a/app/models/tournament_options.rb b/app/models/tournament_options.rb
new file mode 100644
index 0000000..8ed6433
--- /dev/null
+++ b/app/models/tournament_options.rb
@@ -0,0 +1,2 @@
+class TournamentOptions < ActiveRecord::Base
+end
diff --git a/app/views/games/_form.html.erb b/app/views/games/_form.html.erb
new file mode 100644
index 0000000..8941c59
--- /dev/null
+++ b/app/views/games/_form.html.erb
@@ -0,0 +1,37 @@
+<%= form_for(@game) do |f| %>
+ <% if @game.errors.any? %>
+ <div id="error_explanation">
+ <h2><%= pluralize(@game.errors.count, "error") %> prohibited this game from being saved:</h2>
+
+ <ul>
+ <% @game.errors.full_messages.each do |msg| %>
+ <li><%= msg %></li>
+ <% end %>
+ </ul>
+ </div>
+ <% end %>
+
+ <div class="field">
+ <%= f.label :name %><br>
+ <%= f.text_area :name %>
+ </div>
+ <div class="field">
+ <%= f.label :players_per_team %><br>
+ <%= f.number_field :players_per_team %>
+ </div>
+ <div class="field">
+ <%= f.label :teams_per_match %><br>
+ <%= f.number_field :teams_per_match %>
+ </div>
+ <div class="field">
+ <%= f.label :set_rounds %><br>
+ <%= f.number_field :set_rounds %>
+ </div>
+ <div class="field">
+ <%= f.label :randomized_teams %><br>
+ <%= f.number_field :randomized_teams %>
+ </div>
+ <div class="actions">
+ <%= f.submit %>
+ </div>
+<% end %>
diff --git a/app/views/games/edit.html.erb b/app/views/games/edit.html.erb
new file mode 100644
index 0000000..d72bd2e
--- /dev/null
+++ b/app/views/games/edit.html.erb
@@ -0,0 +1,6 @@
+<h1>Editing game</h1>
+
+<%= render 'form' %>
+
+<%= link_to 'Show', @game %> |
+<%= link_to 'Back', games_path %>
diff --git a/app/views/games/index.html.erb b/app/views/games/index.html.erb
new file mode 100644
index 0000000..ccd0f63
--- /dev/null
+++ b/app/views/games/index.html.erb
@@ -0,0 +1,35 @@
+<h1>Listing games</h1>
+
+<table>
+ <thead>
+ <tr>
+ <th>Name</th>
+ <th>Players per team</th>
+ <th>Teams per match</th>
+ <th>Set rounds</th>
+ <th>Randomized teams</th>
+ <th></th>
+ <th></th>
+ <th></th>
+ </tr>
+ </thead>
+
+ <tbody>
+ <% @games.each do |game| %>
+ <tr>
+ <td><%= game.name %></td>
+ <td><%= game.players_per_team %></td>
+ <td><%= game.teams_per_match %></td>
+ <td><%= game.set_rounds %></td>
+ <td><%= game.randomized_teams %></td>
+ <td><%= link_to 'Show', game %></td>
+ <td><%= link_to 'Edit', edit_game_path(game) %></td>
+ <td><%= link_to 'Destroy', game, method: :delete, data: { confirm: 'Are you sure?' } %></td>
+ </tr>
+ <% end %>
+ </tbody>
+</table>
+
+<br>
+
+<%= link_to 'New Game', new_game_path %>
diff --git a/app/views/games/index.json.jbuilder b/app/views/games/index.json.jbuilder
new file mode 100644
index 0000000..7e5c1a1
--- /dev/null
+++ b/app/views/games/index.json.jbuilder
@@ -0,0 +1,4 @@
+json.array!(@games) do |game|
+ json.extract! game, :id, :name, :players_per_team, :teams_per_match, :set_rounds, :randomized_teams
+ json.url game_url(game, format: :json)
+end
diff --git a/app/views/games/new.html.erb b/app/views/games/new.html.erb
new file mode 100644
index 0000000..ab95f70
--- /dev/null
+++ b/app/views/games/new.html.erb
@@ -0,0 +1,5 @@
+<h1>New game</h1>
+
+<%= render 'form' %>
+
+<%= link_to 'Back', games_path %>
diff --git a/app/views/games/show.html.erb b/app/views/games/show.html.erb
new file mode 100644
index 0000000..7986016
--- /dev/null
+++ b/app/views/games/show.html.erb
@@ -0,0 +1,29 @@
+<p id="notice"><%= notice %></p>
+
+<p>
+ <strong>Name:</strong>
+ <%= @game.name %>
+</p>
+
+<p>
+ <strong>Players per team:</strong>
+ <%= @game.players_per_team %>
+</p>
+
+<p>
+ <strong>Teams per match:</strong>
+ <%= @game.teams_per_match %>
+</p>
+
+<p>
+ <strong>Set rounds:</strong>
+ <%= @game.set_rounds %>
+</p>
+
+<p>
+ <strong>Randomized teams:</strong>
+ <%= @game.randomized_teams %>
+</p>
+
+<%= link_to 'Edit', edit_game_path(@game) %> |
+<%= link_to 'Back', games_path %>
diff --git a/app/views/games/show.json.jbuilder b/app/views/games/show.json.jbuilder
new file mode 100644
index 0000000..1a2d0c7
--- /dev/null
+++ b/app/views/games/show.json.jbuilder
@@ -0,0 +1 @@
+json.extract! @game, :id, :name, :players_per_team, :teams_per_match, :set_rounds, :randomized_teams, :created_at, :updated_at
diff --git a/app/views/tournaments/_form.html.erb b/app/views/tournaments/_form.html.erb
index 8996266..1fd63e9 100644
--- a/app/views/tournaments/_form.html.erb
+++ b/app/views/tournaments/_form.html.erb
@@ -11,6 +11,10 @@
</div>
<% end %>
+ <div class="field">
+ <%= f.label :game_id %><br>
+ <%= f.text_field :game_id %>
+ </div>
<div class="actions">
<%= f.submit %>
</div>
diff --git a/app/views/tournaments/index.html.erb b/app/views/tournaments/index.html.erb
index 7124111..ad2b7cf 100644
--- a/app/views/tournaments/index.html.erb
+++ b/app/views/tournaments/index.html.erb
@@ -3,6 +3,7 @@
<table>
<thead>
<tr>
+ <th>Game</th>
<th></th>
<th></th>
<th></th>
@@ -12,6 +13,7 @@
<tbody>
<% @tournaments.each do |tournament| %>
<tr>
+ <td><%= tournament.game %></td>
<td><%= link_to 'Show', tournament %></td>
<td><%= link_to 'Edit', edit_tournament_path(tournament) %></td>
<td><%= link_to 'Destroy', tournament, method: :delete, data: { confirm: 'Are you sure?' } %></td>
diff --git a/app/views/tournaments/index.json.jbuilder b/app/views/tournaments/index.json.jbuilder
index 28d6960..e6f3b49 100644
--- a/app/views/tournaments/index.json.jbuilder
+++ b/app/views/tournaments/index.json.jbuilder
@@ -1,4 +1,4 @@
json.array!(@tournaments) do |tournament|
- json.extract! tournament, :id
+ json.extract! tournament, :id, :game_id
json.url tournament_url(tournament, format: :json)
end
diff --git a/app/views/tournaments/show.html.erb b/app/views/tournaments/show.html.erb
index 2c280ba..30df788 100644
--- a/app/views/tournaments/show.html.erb
+++ b/app/views/tournaments/show.html.erb
@@ -1,4 +1,9 @@
<p id="notice"><%= notice %></p>
+<p>
+ <strong>Game:</strong>
+ <%= @tournament.game %>
+</p>
+
<%= link_to 'Edit', edit_tournament_path(@tournament) %> |
<%= link_to 'Back', tournaments_path %>
diff --git a/app/views/tournaments/show.json.jbuilder b/app/views/tournaments/show.json.jbuilder
index 211799a..0fe65a6 100644
--- a/app/views/tournaments/show.json.jbuilder
+++ b/app/views/tournaments/show.json.jbuilder
@@ -1 +1 @@
-json.extract! @tournament, :id, :created_at, :updated_at
+json.extract! @tournament, :id, :game_id, :created_at, :updated_at