trustieforge/app/controllers/contests_controller.rb

58 lines
1.2 KiB
Ruby

class ContestsController < ApplicationController
before_filter :find_contest, :only => [:show]
before_filter :is_logged, :only => [:index, :new, :create]
layout "base_contests"
def show
respond_to do |format|
format.js
format.html
end
end
def new
if User.current.login?
@contest = Contest.new
render :layout => 'new_base'
else
redirect_to signin_url
end
end
def create
@contest = Contest.new
@contest.name = params[:contest][:name]
params[:contest][:is_public] ? @contest.is_public = 1 : @contest.is_public = 0
@contest.user_id = User.current.id
if @contest && @contest.save
#unless User.current.admin?
member = ContestMember.new(:user_id => User.current.id)
@contest.contest_members << member
ContestMemberRole.create(:contest_member_id => member.id, :role_id => 14)
respond_to do |format|
format.html {redirect_to contest_url(@contest)}
end
end
end
private
def find_contest
if params[:id].to_i < 780
render_403
return
end
@contest = Contest.find(params[:id])
rescue ActiveRecord::RecordNotFound
render_404
end
def is_logged
redirect_to signin_path unless User.current.logged?
end
end