From 546b5895e7fe48d7f2e3c1032622805ee8fba090 Mon Sep 17 00:00:00 2001 From: tkimia Date: Sun, 6 Apr 2014 22:16:05 -0400 Subject: matches start --- app/controllers/matches_controller.rb | 25 ++++++++++++++++++++++++- app/views/matches/index.html.erb | 10 +++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/controllers/matches_controller.rb b/app/controllers/matches_controller.rb index e9fe727..ee68e11 100644 --- a/app/controllers/matches_controller.rb +++ b/app/controllers/matches_controller.rb @@ -1,5 +1,5 @@ class MatchesController < ApplicationController - before_action :set_tournament, only: [:index] + before_action :set_tournament, only: [:index, :update] # GET /matches # GET /matches.json @@ -150,6 +150,29 @@ class MatchesController < ApplicationController end + def update + case params[:update_action] + when "start" + check_permission(:edit, @tournament) + status = 1 + respond_to do |format| + if @match + format.html { redirect_to tournament_match_path(@tournament, self), notice: 'Match has started.' } + format.json { head :no_content } + else + format.html { redirect_to @tournament, notice: "You don't have permission to start this match." } + format.json { render json: "Permission denied", status: :forbidden } + end + end + else + respond_to do |format| + format.html { redirect_to @tournament, notice: "Invalid action", status: :unprocessable_entity } + format.json { render json: @tournament.errors, status: :unprocessable_entity } + end + end + + end + private # Use callbacks to share common setup or constraints between actions. def set_match diff --git a/app/views/matches/index.html.erb b/app/views/matches/index.html.erb index 6fd831f..052d176 100644 --- a/app/views/matches/index.html.erb +++ b/app/views/matches/index.html.erb @@ -18,7 +18,15 @@ <%= match.id%> <%= match.name %> <%= link_to "Show", tournament_match_path(@tournament, match) %> - <%= submit_tag("Start Match") %> + <%# If user is the host, let them start the tournment %> + <% if @tournament.hosts.include?(current_user) %> + + <%= form_tag(tournament_match_path(@tournament, match), method: "put") do %> + + <%= submit_tag("Start Match") %> + <% end %> + <% end %> + <% end %> -- cgit v1.2.3-2-g168b