Show More
Commit Description:
added level to problems, randoms problem from each level
Commit Description:
added level to problems, randoms problem from each level
References:
File last commit:
Show/Diff file:
Action:
app/controllers/codejom_controller.rb
| 37 lines
| 912 B
| text/x-ruby
| RubyLexer
|
|
r254 | class CodejomController < ApplicationController | ||
before_filter :admin_authorization | ||||
def index | ||||
@user = User.find(session[:user_id]) | ||||
@problems = Problem.find(:all) | ||||
|
r255 | @levels = @problems.collect {|p| p.level}.uniq.sort | ||
@available_problems = {} | ||||
@levels.each do |level| | ||||
@available_problems[level] = [] | ||||
end | ||||
@problems.find_all {|p| not p.available }.each do |problem| | ||||
@available_problems[problem.level] << problem | ||||
end | ||||
|
r254 | @activated_problems = @problems.find_all {|p| p.available } | ||
end | ||||
|
r255 | def random_problem | ||
level = params[:id].to_i | ||||
problems = Problem.unavailable.level(level).all | ||||
puts problems | ||||
if problems.length!=0 | ||||
if problems.length != 1 | ||||
problem = problems[rand(problems.length)] | ||||
else | ||||
problem = problems[0] | ||||
end | ||||
problem.available = true | ||||
problem.save | ||||
end | ||||
redirect_to :action => 'index' | ||||
end | ||||
|
r254 | end | ||