ensl.org/app/controllers/weeks_controller.rb
2014-03-31 22:37:38 +01:00

48 lines
954 B
Ruby

class WeeksController < ApplicationController
before_filter :get_week, except: [:new, :create]
def new
@week = Week.new
@week.contest = Contest.find(params[:id])
raise AccessError unless @week.can_create? cuser
end
def edit
raise AccessError unless @week.can_update? cuser
end
def create
@week = Week.new(params[:week])
raise AccessError unless @week.can_create? cuser
if @week.save
flash[:notice] = t(:weeks_create)
redirect_to @week.contest
else
render :new
end
end
def update
raise AccessError unless @week.can_update? cuser
if @week.update_attributes(params[:week])
flash[:notice] = t(:weeks_update)
redirect_to @week.contest
else
render :edit
end
end
def destroy
raise AccessError unless @week.can_destroy? cuser
@week.destroy
redirect_to_back
end
private
def get_week
@week = Week.find(params[:id])
end
end