Description:
[web] confirm when start contest, downloading task description through apache
git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@260 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r130:f343b8fb7d21 - - 3 files changed: 12 inserted, 4 deleted
@@ -2,23 +2,33 | |||
|
2 | 2 | |
|
3 | 3 | before_filter :authenticate, :check_viewability |
|
4 | 4 | |
|
5 | 5 | def index |
|
6 | 6 | redirect_to :action => 'list' |
|
7 | 7 | end |
|
8 | 8 | |
|
9 | 9 | def list |
|
10 | 10 | @problems = Problem.find_available_problems |
|
11 | 11 | @user = User.find(session[:user_id]) |
|
12 | 12 | end |
|
13 | 13 | |
|
14 | + def view | |
|
15 | + file_name = "#{RAILS_ROOT}/data/tasks/#{params[:file]}" | |
|
16 | + if !FileTest.exists?(file_name) | |
|
17 | + redirect_to :action => 'index' and return | |
|
18 | + end | |
|
19 | + # ask Apache to send the file | |
|
20 | + response.headers['X-Sendfile'] = file_name | |
|
21 | + render :nothing => true | |
|
22 | + end | |
|
23 | + | |
|
14 | 24 | protected |
|
15 | 25 | |
|
16 | 26 | def check_viewability |
|
17 | 27 | user = User.find(session[:user_id]) |
|
18 | 28 | if user==nil or !Configuration.show_tasks_to?(user) |
|
19 | 29 | redirect_to :controller => 'main', :action => 'list' |
|
20 | 30 | return false |
|
21 | 31 | end |
|
22 | 32 | end |
|
23 | 33 | |
|
24 | 34 | end |
@@ -46,25 +46,25 | |||
|
46 | 46 | end |
|
47 | 47 | return true |
|
48 | 48 | end |
|
49 | 49 | |
|
50 | 50 | def self.allow_test_request(user) |
|
51 | 51 | mode = get(SYSTEM_MODE_CONF_KEY) |
|
52 | 52 | if (mode=='contest') |
|
53 | 53 | return false if (user.site!=nil) and ((user.site.started!=true) or (user.site.time_left < 30.minutes)) |
|
54 | 54 | end |
|
55 | 55 | return false if mode=='analysis' |
|
56 | 56 | return true |
|
57 | 57 | end |
|
58 | - | |
|
58 | + | |
|
59 | 59 | protected |
|
60 | 60 | def self.read_config |
|
61 | 61 | @@configurations = {} |
|
62 | 62 | Configuration.find(:all).each do |conf| |
|
63 | 63 | key = conf.key |
|
64 | 64 | val = conf.value |
|
65 | 65 | case conf.value_type |
|
66 | 66 | when 'string' |
|
67 | 67 | @@configurations[key] = val |
|
68 | 68 | |
|
69 | 69 | when 'integer' |
|
70 | 70 | @@configurations[key] = val.to_i |
@@ -8,15 +8,13 | |||
|
8 | 8 | (please |
|
9 | 9 | = link_to 'refresh', :action => 'index' |
|
10 | 10 | to update) |
|
11 | 11 | %br/ |
|
12 | 12 | %br/ |
|
13 | 13 | |
|
14 | 14 | - form_tag :action => 'start' do |
|
15 | 15 | When you're ready, you can click the button below to start the contest. |
|
16 | 16 | %br/ |
|
17 | 17 | Please make sure that the contestants are ready. |
|
18 | 18 | After the contest is started, it <b>cannot</b> be paused or stopped. |
|
19 | 19 | %br/ |
|
20 | - = submit_tag 'Start the Contest.' | |
|
21 | - | |
|
22 | - | |
|
20 | + = submit_tag 'Start the Contest.', :onclick => "return confirm('Are you sure?');" |
You need to be logged in to leave comments.
Login now