Description:
fixed contest to be ready message bug (when not in contest mode) git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@368 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r170:5374337e0f83 - - 2 files changed: 5 inserted, 1 deleted

@@ -44,88 +44,92
44 44 def self.enable_caching
45 45 @@cache = true
46 46 end
47 47
48 48 #
49 49 # View decision
50 50 #
51 51 def self.show_submitbox_to?(user)
52 52 mode = get(SYSTEM_MODE_CONF_KEY)
53 53 return false if mode=='analysis'
54 54 if (mode=='contest')
55 55 return false if (user.site!=nil) and
56 56 ((user.site.started!=true) or (user.site.finished?))
57 57 end
58 58 return true
59 59 end
60 60
61 61 def self.show_tasks_to?(user)
62 62 mode = get(SYSTEM_MODE_CONF_KEY)
63 63 if (mode=='contest')
64 64 return false if (user.site!=nil) and (user.site.started!=true)
65 65 end
66 66 return true
67 67 end
68 68
69 69 def self.show_grading_result
70 70 return (get(SYSTEM_MODE_CONF_KEY)=='analysis')
71 71 end
72 72
73 73 def self.allow_test_request(user)
74 74 mode = get(SYSTEM_MODE_CONF_KEY)
75 75 early_timeout = get(TEST_REQUEST_EARLY_TIMEOUT_KEY)
76 76 if (mode=='contest')
77 77 return false if ((user.site!=nil) and
78 78 ((user.site.started!=true) or
79 79 (early_timeout and (user.site.time_left < 30.minutes))))
80 80 end
81 81 return false if mode=='analysis'
82 82 return true
83 83 end
84 84
85 85 def self.task_grading_info
86 86 if @@task_grading_info==nil
87 87 read_grading_info
88 88 end
89 89 return @@task_grading_info
90 90 end
91 91
92 + def self.contest_mode
93 + return get(SYSTEM_MODE_CONF_KEY) == 'contest'
94 + end
95 +
92 96 protected
93 97
94 98 def self.convert_type(val,type)
95 99 case type
96 100 when 'string'
97 101 return val
98 102
99 103 when 'integer'
100 104 return val.to_i
101 105
102 106 when 'boolean'
103 107 return (val=='true')
104 108 end
105 109 end
106 110
107 111 def self.read_config
108 112 @@configurations = {}
109 113 Configuration.find(:all).each do |conf|
110 114 key = conf.key
111 115 val = conf.value
112 116 @@configurations[key] = Configuration.convert_type(val,conf.value_type)
113 117 end
114 118 end
115 119
116 120 def self.read_one_key(key)
117 121 conf = Configuration.find_by_key(key)
118 122 if conf
119 123 return Configuration.convert_type(conf.value,conf.value_type)
120 124 else
121 125 return nil
122 126 end
123 127 end
124 128
125 129 def self.read_grading_info
126 130 f = File.open(TASK_GRADING_INFO_FILENAME)
127 131 @@task_grading_info = YAML.load(f)
128 132 f.close
129 133 end
130 134
131 135 end
@@ -1,30 +1,30
1 1 = user_title_bar(@user)
2 2
3 3 - if @announcements.length!=0
4 4 .announcementbox
5 5 %span{:class => 'title'}
6 6 Announcements
7 7 = render :partial => 'announcement', :collection => @announcements
8 8
9 9 - if Configuration.show_submitbox_to?(@user)
10 10 .submitbox
11 11 = error_messages_for 'submission'
12 12 = render :partial => 'submission_box'
13 13
14 14
15 15 %hr/
16 16
17 - - if (@user.site!=nil) and (@user.site.started!=true)
17 + - if (Configuration.contest_mode) and (@user.site!=nil) and (@user.site.started!=true)
18 18 %p=t 'main.start_soon'
19 19
20 20 - if Configuration.show_tasks_to?(@user)
21 21 %table.info
22 22 %tr.info-head
23 23 %th
24 24 %th Tasks
25 25 %th # of sub(s)
26 26 %th Results
27 27 = render :partial => 'problem', :collection => @problems
28 28
29 29 %hr/
30 30
You need to be logged in to leave comments. Login now