Show More
Commit Description:
fixed seed script
Commit Description:
fixed seed script
File last commit:
Show/Diff file:
Action:
app/controllers/tasks_controller.rb | 54 lines | 1.5 KiB | text/x-ruby | RubyLexer |
jittat
[web] added body to problems, added task view page...
r88 class TasksController < ApplicationController
jittat
[web] added mode + access control, when sites started/finished...
r122 before_filter :authenticate, :check_viewability
jittat
[web] added body to problems, added task view page...
r88
def index
redirect_to :action => 'list'
end
def list
@problems = Problem.find_available_problems
@user = User.find(session[:user_id])
end
jittat
[web] confirm when start contest, downloading task description through apache...
r130 def view
Jittat Fakcharoenphol
imports task description as pdf
r271 base_name = params[:file]
if !check_user_viewability(base_name)
redirect_to :action => 'index' and return
end
base_filename = File.basename("#{base_name}.#{params[:ext]}")
filename = "#{Problem.download_file_basedir}/#{base_filename}"
if !check_user_viewability(base_name) or !FileTest.exists?(filename)
jittat
[web] confirm when start contest, downloading task description through apache...
r130 redirect_to :action => 'index' and return
end
jittat
[web] download through apache, sites highlight, logout for site admin...
r133
jittat
added option for Apapche X-Sendfile...
r172 if defined?(USE_APACHE_XSENDFILE) and USE_APACHE_XSENDFILE
response.headers['Content-Type'] = "application/force-download"
response.headers['Content-Disposition'] = "attachment; filename=\"#{File.basename(filename)}\""
response.headers["X-Sendfile"] = filename
response.headers['Content-length'] = File.size(filename)
render :nothing => true
else
send_file filename, :stream => false, :filename => base_filename
end
jittat
[web] confirm when start contest, downloading task description through apache...
r130 end
jittat
[web] added mode + access control, when sites started/finished...
r122 protected
def check_viewability
Jittat Fakcharoenphol
imports task description as pdf
r271 @user = User.find(session[:user_id])
if @user==nil or !Configuration.show_tasks_to?(@user)
jittat
[web] added mode + access control, when sites started/finished...
r122 redirect_to :controller => 'main', :action => 'list'
return false
end
end
Jittat Fakcharoenphol
imports task description as pdf
r271 def check_user_viewability(filename)
# individual file access control shall be added here
return false if not @user
return Configuration.show_tasks_to?(@user)
end
jittat
[web] added body to problems, added task view page...
r88 end