Description:
Merge pull request #25 from nattee/master update outdated gem
Commit status:
[Not Reviewed]
References:
merge default
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r769:6eb8c22c844a - - 13 files changed: 186 inserted, 158 deleted

@@ -0,0 +1,1
1 + grader
@@ -0,0 +1,1
1 + ruby-2.6.3
@@ -26,10 +26,10
26 26
27 27 #ignore .orig and .swp
28 28 *.orig
29 29 *.swp
30 30
31 31 #ignore rvm setting file
32 - .ruby-gemset
33 - .ruby-version
32 + #.ruby-gemset
33 + #.ruby-version
34 34
35 35 /config/secrets.yml
@@ -57,13 +57,14
57 57 gem 'jquery-countdown-rails'
58 58
59 59 #syntax highlighter
60 60 gem 'rouge'
61 61
62 62 #bootstrap add-ons
63 - gem 'bootstrap-sass', '~> 3.2.0'
63 + gem 'bootstrap-sass', '~> 3.4.1'
64 + gem 'sassc-rails', '>= 2.1.0'
64 65 gem 'bootstrap-switch-rails'
65 66 gem 'bootstrap-toggle-rails'
66 67 gem 'autoprefixer-rails'
67 68 gem 'momentjs-rails'
68 69 gem 'rails_bootstrap_sortable'
69 70 gem 'bootstrap-datepicker-rails'
@@ -8,213 +8,232
8 8
9 9 GEM
10 10 remote: https://rubygems.org/
11 11 specs:
12 12 RubyInline (3.12.4)
13 13 ZenTest (~> 4.3)
14 - ZenTest (4.11.1)
15 - ace-rails-ap (4.1.1)
16 - actionmailer (4.2.7.1)
17 - actionpack (= 4.2.7.1)
18 - actionview (= 4.2.7.1)
19 - activejob (= 4.2.7.1)
14 + ZenTest (4.11.2)
15 + ace-rails-ap (4.2)
16 + actionmailer (4.2.11.1)
17 + actionpack (= 4.2.11.1)
18 + actionview (= 4.2.11.1)
19 + activejob (= 4.2.11.1)
20 20 mail (~> 2.5, >= 2.5.4)
21 21 rails-dom-testing (~> 1.0, >= 1.0.5)
22 - actionpack (4.2.7.1)
23 - actionview (= 4.2.7.1)
24 - activesupport (= 4.2.7.1)
22 + actionpack (4.2.11.1)
23 + actionview (= 4.2.11.1)
24 + activesupport (= 4.2.11.1)
25 25 rack (~> 1.6)
26 26 rack-test (~> 0.6.2)
27 27 rails-dom-testing (~> 1.0, >= 1.0.5)
28 28 rails-html-sanitizer (~> 1.0, >= 1.0.2)
29 - actionview (4.2.7.1)
30 - activesupport (= 4.2.7.1)
29 + actionview (4.2.11.1)
30 + activesupport (= 4.2.11.1)
31 31 builder (~> 3.1)
32 32 erubis (~> 2.7.0)
33 33 rails-dom-testing (~> 1.0, >= 1.0.5)
34 - rails-html-sanitizer (~> 1.0, >= 1.0.2)
35 - activejob (4.2.7.1)
36 - activesupport (= 4.2.7.1)
34 + rails-html-sanitizer (~> 1.0, >= 1.0.3)
35 + activejob (4.2.11.1)
36 + activesupport (= 4.2.11.1)
37 37 globalid (>= 0.3.0)
38 - activemodel (4.2.7.1)
39 - activesupport (= 4.2.7.1)
38 + activemodel (4.2.11.1)
39 + activesupport (= 4.2.11.1)
40 40 builder (~> 3.1)
41 - activerecord (4.2.7.1)
42 - activemodel (= 4.2.7.1)
43 - activesupport (= 4.2.7.1)
41 + activerecord (4.2.11.1)
42 + activemodel (= 4.2.11.1)
43 + activesupport (= 4.2.11.1)
44 44 arel (~> 6.0)
45 - activerecord-session_store (1.0.0)
46 - actionpack (>= 4.0, < 5.1)
47 - activerecord (>= 4.0, < 5.1)
45 + activerecord-session_store (1.1.3)
46 + actionpack (>= 4.0)
47 + activerecord (>= 4.0)
48 48 multi_json (~> 1.11, >= 1.11.2)
49 49 rack (>= 1.5.2, < 3)
50 - railties (>= 4.0, < 5.1)
51 - activesupport (4.2.7.1)
50 + railties (>= 4.0)
51 + activesupport (4.2.11.1)
52 52 i18n (~> 0.7)
53 - json (~> 1.7, >= 1.7.7)
54 53 minitest (~> 5.1)
55 54 thread_safe (~> 0.3, >= 0.3.4)
56 55 tzinfo (~> 1.1)
57 56 ansi (1.5.0)
58 57 arel (6.0.4)
59 - autoprefixer-rails (6.6.0)
58 + autoprefixer-rails (9.5.1.1)
60 59 execjs
61 60 best_in_place (3.0.3)
62 61 actionpack (>= 3.2)
63 62 railties (>= 3.2)
64 - bootstrap-datepicker-rails (1.7.1.1)
63 + bootstrap-datepicker-rails (1.8.0.1)
65 64 railties (>= 3.0)
66 - bootstrap-sass (3.2.0.2)
67 - sass (~> 3.2)
68 - bootstrap-switch-rails (3.3.3)
65 + bootstrap-sass (3.4.1)
66 + autoprefixer-rails (>= 5.2.1)
67 + sassc (>= 2.0.0)
68 + bootstrap-switch-rails (3.3.4)
69 69 bootstrap-toggle-rails (2.2.1.0)
70 70 bootstrap3-datetimepicker-rails (4.17.47)
71 71 momentjs-rails (>= 2.8.1)
72 - builder (3.2.2)
73 - coffee-rails (4.2.1)
72 + builder (3.2.3)
73 + coffee-rails (4.2.2)
74 74 coffee-script (>= 2.2.0)
75 - railties (>= 4.0.0, < 5.2.x)
75 + railties (>= 4.0.0)
76 76 coffee-script (2.4.1)
77 77 coffee-script-source
78 78 execjs
79 79 coffee-script-source (1.12.2)
80 - concurrent-ruby (1.0.4)
80 + concurrent-ruby (1.1.5)
81 + crass (1.0.4)
81 82 dynamic_form (1.1.4)
82 83 erubis (2.7.0)
83 84 execjs (2.7.0)
84 - fuzzy-string-match (1.0.0)
85 + ffi (1.11.1)
86 + fuzzy-string-match (1.0.1)
85 87 RubyInline (>= 3.8.6)
86 - globalid (0.3.7)
87 - activesupport (>= 4.1.0)
88 - haml (4.0.7)
88 + globalid (0.4.2)
89 + activesupport (>= 4.2.0)
90 + haml (5.1.0)
91 + temple (>= 0.8.0)
89 92 tilt
90 - haml-rails (0.9.0)
93 + haml-rails (1.0.0)
91 94 actionpack (>= 4.0.1)
92 95 activesupport (>= 4.0.1)
93 - haml (>= 4.0.6, < 5.0)
96 + haml (>= 4.0.6, < 6.0)
94 97 html2haml (>= 1.0.1)
95 98 railties (>= 4.0.1)
96 - html2haml (2.0.0)
99 + html2haml (2.2.0)
97 100 erubis (~> 2.7.0)
98 - haml (~> 4.0.0)
99 - nokogiri (~> 1.6.0)
101 + haml (>= 4.0, < 6)
102 + nokogiri (>= 1.6.0)
100 103 ruby_parser (~> 3.5)
101 - i18n (0.7.0)
104 + i18n (0.9.5)
105 + concurrent-ruby (~> 1.0)
102 106 in_place_editing (1.2.0)
103 107 jquery-countdown-rails (2.0.2)
104 108 jquery-datatables-rails (3.4.0)
105 109 actionpack (>= 3.1)
106 110 jquery-rails
107 111 railties (>= 3.1)
108 112 sass-rails
109 - jquery-rails (4.2.1)
113 + jquery-rails (4.3.3)
110 114 rails-dom-testing (>= 1, < 3)
111 115 railties (>= 4.2.0)
112 116 thor (>= 0.14, < 2.0)
113 - jquery-tablesorter (1.23.3)
117 + jquery-tablesorter (1.26.1)
114 118 railties (>= 3.2, < 6)
115 119 jquery-timepicker-addon-rails (1.4.1)
116 120 railties (>= 3.1)
117 121 jquery-ui-rails (6.0.1)
118 122 railties (>= 3.2.16)
119 - json (1.8.3)
120 - loofah (2.0.3)
123 + loofah (2.2.3)
124 + crass (~> 1.0.2)
121 125 nokogiri (>= 1.5.9)
122 - mail (2.6.4)
123 - mime-types (>= 1.16, < 4)
124 - mime-types (3.1)
125 - mime-types-data (~> 3.2015)
126 - mime-types-data (3.2016.0521)
127 - mini_portile2 (2.1.0)
128 - minitest (5.10.1)
129 - minitest-reporters (1.1.13)
126 + mail (2.7.1)
127 + mini_mime (>= 0.1.1)
128 + mini_mime (1.0.1)
129 + mini_portile2 (2.4.0)
130 + minitest (5.11.3)
131 + minitest-reporters (1.3.6)
130 132 ansi
131 133 builder
132 134 minitest (>= 5.0)
133 135 ruby-progressbar
134 - momentjs-rails (2.15.1)
136 + momentjs-rails (2.20.1)
135 137 railties (>= 3.1)
136 - multi_json (1.12.1)
137 - mysql2 (0.4.5)
138 - nokogiri (1.6.8.1)
139 - mini_portile2 (~> 2.1.0)
140 - rack (1.6.5)
138 + multi_json (1.13.1)
139 + mysql2 (0.5.2)
140 + nokogiri (1.10.3)
141 + mini_portile2 (~> 2.4.0)
142 + rack (1.6.11)
141 143 rack-test (0.6.3)
142 144 rack (>= 1.0)
143 - rails (4.2.7.1)
144 - actionmailer (= 4.2.7.1)
145 - actionpack (= 4.2.7.1)
146 - actionview (= 4.2.7.1)
147 - activejob (= 4.2.7.1)
148 - activemodel (= 4.2.7.1)
149 - activerecord (= 4.2.7.1)
150 - activesupport (= 4.2.7.1)
145 + rails (4.2.11.1)
146 + actionmailer (= 4.2.11.1)
147 + actionpack (= 4.2.11.1)
148 + actionview (= 4.2.11.1)
149 + activejob (= 4.2.11.1)
150 + activemodel (= 4.2.11.1)
151 + activerecord (= 4.2.11.1)
152 + activesupport (= 4.2.11.1)
151 153 bundler (>= 1.3.0, < 2.0)
152 - railties (= 4.2.7.1)
154 + railties (= 4.2.11.1)
153 155 sprockets-rails
154 156 rails-deprecated_sanitizer (1.0.3)
155 157 activesupport (>= 4.2.0.alpha)
156 - rails-dom-testing (1.0.8)
157 - activesupport (>= 4.2.0.beta, < 5.0)
158 + rails-dom-testing (1.0.9)
159 + activesupport (>= 4.2.0, < 5.0)
158 160 nokogiri (~> 1.6)
159 161 rails-deprecated_sanitizer (>= 1.0.1)
160 - rails-html-sanitizer (1.0.3)
161 - loofah (~> 2.0)
162 - rails_bootstrap_sortable (2.0.1)
162 + rails-html-sanitizer (1.0.4)
163 + loofah (~> 2.2, >= 2.2.2)
164 + rails_bootstrap_sortable (2.0.6)
163 165 momentjs-rails (>= 2.8.3)
164 - railties (4.2.7.1)
165 - actionpack (= 4.2.7.1)
166 - activesupport (= 4.2.7.1)
166 + railties (4.2.11.1)
167 + actionpack (= 4.2.11.1)
168 + activesupport (= 4.2.11.1)
167 169 rake (>= 0.8.7)
168 170 thor (>= 0.18.1, < 2.0)
169 - rake (12.0.0)
171 + rake (12.3.2)
172 + rb-fsevent (0.10.3)
173 + rb-inotify (0.10.0)
174 + ffi (~> 1.0)
170 175 rdiscount (2.2.0.1)
171 - rouge (2.0.7)
172 - ruby-progressbar (1.8.1)
173 - ruby_parser (3.8.3)
174 - sexp_processor (~> 4.1)
175 - sass (3.4.23)
176 - sass-rails (5.0.6)
176 + rouge (3.3.0)
177 + ruby-progressbar (1.10.0)
178 + ruby_parser (3.13.1)
179 + sexp_processor (~> 4.9)
180 + sass (3.7.4)
181 + sass-listen (~> 4.0.0)
182 + sass-listen (4.0.0)
183 + rb-fsevent (~> 0.9, >= 0.9.4)
184 + rb-inotify (~> 0.9, >= 0.9.7)
185 + sass-rails (5.0.7)
177 186 railties (>= 4.0.0, < 6)
178 187 sass (~> 3.1)
179 188 sprockets (>= 2.8, < 4.0)
180 189 sprockets-rails (>= 2.0, < 4.0)
181 190 tilt (>= 1.1, < 3)
191 + sassc (2.0.1)
192 + ffi (~> 1.9)
193 + rake
194 + sassc-rails (2.1.1)
195 + railties (>= 4.0.0)
196 + sassc (>= 2.0)
197 + sprockets (> 3.0)
198 + sprockets-rails
199 + tilt
182 200 select2-rails (4.0.3)
183 201 thor (~> 0.14)
184 - sexp_processor (4.7.0)
185 - sprockets (3.7.1)
202 + sexp_processor (4.12.0)
203 + sprockets (3.7.2)
186 204 concurrent-ruby (~> 1.0)
187 205 rack (> 1, < 3)
188 - sprockets-rails (3.2.0)
206 + sprockets-rails (3.2.1)
189 207 actionpack (>= 4.0)
190 208 activesupport (>= 4.0)
191 209 sprockets (>= 3.0.0)
192 - sqlite3 (1.3.12)
193 - thor (0.19.4)
194 - thread_safe (0.3.5)
195 - tilt (2.0.5)
196 - tzinfo (1.2.2)
210 + sqlite3 (1.4.1)
211 + temple (0.8.1)
212 + thor (0.20.3)
213 + thread_safe (0.3.6)
214 + tilt (2.0.9)
215 + tzinfo (1.2.5)
197 216 thread_safe (~> 0.1)
198 - uglifier (3.0.4)
217 + uglifier (4.1.20)
199 218 execjs (>= 0.3.0, < 3)
200 219 will_paginate (3.0.12)
201 - yaml_db (0.4.2)
202 - rails (>= 3.0, < 5.1)
220 + yaml_db (0.7.0)
221 + rails (>= 3.0)
203 222 rake (>= 0.8.7)
204 223
205 224 PLATFORMS
206 225 ruby
207 226
208 227 DEPENDENCIES
209 228 ace-rails-ap
210 229 activerecord-session_store
211 230 autoprefixer-rails
212 231 best_in_place (~> 3.0.1)
213 232 bootstrap-datepicker-rails
214 - bootstrap-sass (~> 3.2.0)
233 + bootstrap-sass (~> 3.4.1)
215 234 bootstrap-switch-rails
216 235 bootstrap-toggle-rails
217 236 bootstrap3-datetimepicker-rails
218 237 coffee-rails
219 238 dynamic_form
220 239 fuzzy-string-match
@@ -233,15 +252,16
233 252 mysql2
234 253 rails (~> 4.2.0)
235 254 rails_bootstrap_sortable
236 255 rdiscount
237 256 rouge
238 257 sass-rails
258 + sassc-rails (>= 2.1.0)
239 259 select2-rails
240 260 sqlite3
241 261 uglifier
242 262 verification!
243 263 will_paginate (~> 3.0.7)
244 264 yaml_db
245 265
246 266 BUNDLED WITH
247 - 1.15.4
267 + 1.17.2
@@ -48,15 +48,13
48 48 This is very important. You have to logout and login again since RVM change a lots of system.
49 49
50 50 If you are using GUI version of Ubuntu, be sure to have Gnome Terminal (or any other terminal you are using) perform login every time. This can be done by mark the check box "Run command as a login shell" in Gnome terminal or by adding --login to bash.
51 51
52 52 === 3. Install necessary package
53 53
54 - cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip nodejs php7.2-cli apache2 dirmngr gnupg apache2-dev
55 -
56 - curl build-essential
54 + cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip nodejs php-cli apache2 dirmngr gnupg apache2-dev
57 55
58 56 === 4. Install cafe-grader
59 57
60 58 First, ensure that RVM is installed correctly.
61 59
62 60 cafe@grader:~$ rvm
@@ -301,10 +301,10
301 301 def get_problems_stat
302 302 end
303 303
304 304 private
305 305
306 306 def problem_params
307 - params.require(:problem).permit(:name, :full_name, :full_score, :date_added, :available, :test_allowed,:output_only, :url, :description, tag_ids:[])
307 + params.require(:problem).permit(:name, :full_name, :full_score, :change_date_added, :date_added, :available, :test_allowed,:output_only, :url, :description, tag_ids:[])
308 308 end
309 309
310 310 end
@@ -10,12 +10,14
10 10 has_many :problems_tags, class_name: ProblemTag
11 11 has_many :tags, through: :problems_tags
12 12
13 13 has_many :test_pairs, :dependent => :delete_all
14 14 has_many :testcases, :dependent => :destroy
15 15
16 + has_many :submissions
17 +
16 18 validates_presence_of :name
17 19 validates_format_of :name, :with => /\A\w+\z/
18 20 validates_presence_of :full_name
19 21
20 22 scope :available, -> { where(available: true) }
21 23
@@ -19,10 +19,12
19 19 = submission.grader_comment
20 20 = "]"
21 21 %br
22 22 %strong View:
23 23 - if GraderConfiguration.show_grading_result
24 24 = link_to '[detailed result]', :action => 'result', :id => submission.id
25 - = link_to "#{t 'main.cmp_msg'}", {:action => 'compiler_msg', :id => submission.id}, {popup: true,class: 'btn btn-xs btn-info'} if submission.graded_at
25 + - if submission.graded_at
26 + %button.btn.btn-info.btn-xs{type: 'button', data: {toggle: 'modal', target: '#compiler'}}
27 + =t 'main.cmp_msg'
26 28 = link_to "#{t 'main.src_link'}", download_submission_path(submission.id), class: 'btn btn-xs btn-info'
27 29 = link_to "#{t 'main.submissions_link'}", problem_submissions_path(problem_id), class: 'btn btn-xs btn-info'
28 30
@@ -48,12 +48,24
48 48 :locals => {submission: @submission, problem_name: @problem.name, problem_id: @problem.id }
49 49 .row
50 50 .col-md-12
51 51 %h2 Console
52 52 %textarea#console{style: 'height: 100%; width: 100%;background-color:#000;color:#fff;font-family: consolas, monaco, "Droid Sans Mono";',rows: 20}
53 53
54 + .modal.fade#compiler{tabindex: -1,role: 'dialog'}
55 + .modal-dialog.modal-lg{role:'document'}
56 + .modal-content
57 + .modal-header
58 + %button.close{type: 'button', data: {dismissed: :modal}, aria: {label: 'close'}}
59 + %span{aria: {hidden: 'true'}, data: {dismiss: 'modal'}} &times;
60 + %h4 Compiler message
61 + .modal-body
62 + %pre#compiler_msg= @submission.compiler_message
63 + .modal-footer
64 + %button.btn.btn-default{type: 'button', data: {dismiss: 'modal'}} Close
65 +
54 66 :javascript
55 67 $(document).ready(function() {
56 68 e = ace.edit("editor")
57 69 e.setValue($("#text_sourcecode").val());
58 70 e.gotoLine(1);
59 71 $("#language_id").trigger('change');
@@ -2,34 +2,35
2 2
3 3 %h1 Your account settings
4 4
5 5 -#%p
6 6 -#You can edit your alias and e-mails. Just click on the text and edit it.
7 7
8 - %table.uinfo
8 + %table.table.table-bordered{:style => "width:30%"}
9 9 %tr
10 - %th.uinfo Login
11 - %td.uinfo= @user.login
10 + %th Login
11 + %td= @user.login
12 12 %tr
13 - %th.uinfo Full name
14 - %td.uinfo= @user.full_name
13 + %th Full name
14 + %td= @user.full_name
15 15 -#%tr
16 16 -#%th.uinfo Alias
17 17 -#%td.uinfo= in_place_editor_field :user, 'alias_for_editing', {}, :rows => 1
18 18 -#%tr
19 19 -#%th.uinfo E-mail
20 20 -#%td.uinfo= in_place_editor_field :user, 'email_for_editing', {}, :rows => 1
21 21 %tr
22 - %th.uinfo Password
23 - %td.uinfo
22 + %th Password
23 + %td
24 24 = form_tag :action => 'chg_passwd', :method => 'post' do
25 25 %table
26 26 %tr
27 - %td= password_field_tag 'passwd'
27 + %td
28 + %input{:type => "password", :class => "form-control", :name => "passwd", :id => "passwd"}
28 29 %td (new)
29 30 %tr
30 - %td= password_field_tag 'passwd_verify'
31 + %td
32 + %input{:type => "password", :class => "form-control", :name => "passwd_verify", :id => "passwd_verify"}
31 33 %td (verify)
32 34 %tr
33 35 %td{:colspan => "2"}
34 - = submit_tag 'change password'
35 -
36 + %input{:type => "button", :class => "btn btn-default", :name => "commit", :value => "Change Password"}
@@ -14,25 +14,25
14 14 ActiveRecord::Schema.define(version: 20180612102327) do
15 15
16 16 create_table "announcements", force: :cascade do |t|
17 17 t.string "author", limit: 255
18 18 t.text "body", limit: 65535
19 19 t.boolean "published"
20 - t.datetime "created_at", null: false
21 - t.datetime "updated_at", null: false
20 + t.datetime "created_at"
21 + t.datetime "updated_at"
22 22 t.boolean "frontpage", default: false
23 23 t.boolean "contest_only", default: false
24 24 t.string "title", limit: 255
25 25 t.string "notes", limit: 255
26 26 end
27 27
28 28 create_table "contests", force: :cascade do |t|
29 29 t.string "title", limit: 255
30 30 t.boolean "enabled"
31 - t.datetime "created_at", null: false
32 - t.datetime "updated_at", null: false
31 + t.datetime "created_at"
32 + t.datetime "updated_at"
33 33 t.string "name", limit: 255
34 34 end
35 35
36 36 create_table "contests_problems", id: false, force: :cascade do |t|
37 37 t.integer "contest_id", limit: 4
38 38 t.integer "problem_id", limit: 4
@@ -42,45 +42,45
42 42 t.integer "contest_id", limit: 4
43 43 t.integer "user_id", limit: 4
44 44 end
45 45
46 46 create_table "countries", force: :cascade do |t|
47 47 t.string "name", limit: 255
48 - t.datetime "created_at", null: false
49 - t.datetime "updated_at", null: false
48 + t.datetime "created_at"
49 + t.datetime "updated_at"
50 50 end
51 51
52 52 create_table "descriptions", force: :cascade do |t|
53 53 t.text "body", limit: 65535
54 54 t.boolean "markdowned"
55 - t.datetime "created_at", null: false
56 - t.datetime "updated_at", null: false
55 + t.datetime "created_at"
56 + t.datetime "updated_at"
57 57 end
58 58
59 59 create_table "grader_configurations", force: :cascade do |t|
60 60 t.string "key", limit: 255
61 61 t.string "value_type", limit: 255
62 62 t.string "value", limit: 255
63 - t.datetime "created_at", null: false
64 - t.datetime "updated_at", null: false
63 + t.datetime "created_at"
64 + t.datetime "updated_at"
65 65 t.text "description", limit: 65535
66 66 end
67 67
68 68 create_table "grader_processes", force: :cascade do |t|
69 69 t.string "host", limit: 255
70 70 t.integer "pid", limit: 4
71 71 t.string "mode", limit: 255
72 72 t.boolean "active"
73 - t.datetime "created_at", null: false
74 - t.datetime "updated_at", null: false
73 + t.datetime "created_at"
74 + t.datetime "updated_at"
75 75 t.integer "task_id", limit: 4
76 76 t.string "task_type", limit: 255
77 77 t.boolean "terminated"
78 78 end
79 79
80 - add_index "grader_processes", ["host", "pid"], name: "index_grader_processes_on_ip_and_pid", using: :btree
80 + add_index "grader_processes", ["host", "pid"], name: "index_grader_processes_on_host_and_pid", using: :btree
81 81
82 82 create_table "groups", force: :cascade do |t|
83 83 t.string "name", limit: 255
84 84 t.string "description", limit: 255
85 85 end
86 86
@@ -98,14 +98,14
98 98
99 99 add_index "groups_users", ["user_id", "group_id"], name: "index_groups_users_on_user_id_and_group_id", using: :btree
100 100
101 101 create_table "heart_beats", force: :cascade do |t|
102 102 t.integer "user_id", limit: 4
103 103 t.string "ip_address", limit: 255
104 - t.datetime "created_at", null: false
105 - t.datetime "updated_at", null: false
104 + t.datetime "created_at"
105 + t.datetime "updated_at"
106 106 t.string "status", limit: 255
107 107 end
108 108
109 109 add_index "heart_beats", ["updated_at"], name: "index_heart_beats_on_updated_at", using: :btree
110 110
111 111 create_table "languages", force: :cascade do |t|
@@ -115,24 +115,24
115 115 t.string "common_ext", limit: 255
116 116 end
117 117
118 118 create_table "logins", force: :cascade do |t|
119 119 t.integer "user_id", limit: 4
120 120 t.string "ip_address", limit: 255
121 - t.datetime "created_at", null: false
122 - t.datetime "updated_at", null: false
121 + t.datetime "created_at"
122 + t.datetime "updated_at"
123 123 end
124 124
125 125 create_table "messages", force: :cascade do |t|
126 126 t.integer "sender_id", limit: 4
127 127 t.integer "receiver_id", limit: 4
128 128 t.integer "replying_message_id", limit: 4
129 129 t.text "body", limit: 65535
130 130 t.boolean "replied"
131 - t.datetime "created_at", null: false
132 - t.datetime "updated_at", null: false
131 + t.datetime "created_at"
132 + t.datetime "updated_at"
133 133 end
134 134
135 135 create_table "problems", force: :cascade do |t|
136 136 t.string "name", limit: 30
137 137 t.string "full_name", limit: 255
138 138 t.integer "full_score", limit: 4
@@ -189,23 +189,23
189 189 add_index "sessions", ["updated_at"], name: "index_sessions_on_updated_at", using: :btree
190 190
191 191 create_table "sites", force: :cascade do |t|
192 192 t.string "name", limit: 255
193 193 t.boolean "started"
194 194 t.datetime "start_time"
195 - t.datetime "created_at", null: false
196 - t.datetime "updated_at", null: false
195 + t.datetime "created_at"
196 + t.datetime "updated_at"
197 197 t.integer "country_id", limit: 4
198 198 t.string "password", limit: 255
199 199 end
200 200
201 201 create_table "submission_view_logs", force: :cascade do |t|
202 202 t.integer "user_id", limit: 4
203 203 t.integer "submission_id", limit: 4
204 - t.datetime "created_at", null: false
205 - t.datetime "updated_at", null: false
204 + t.datetime "created_at"
205 + t.datetime "updated_at"
206 206 end
207 207
208 208 create_table "submissions", force: :cascade do |t|
209 209 t.integer "user_id", limit: 4
210 210 t.integer "problem_id", limit: 4
211 211 t.integer "language_id", limit: 4
@@ -246,31 +246,31
246 246 add_index "tasks", ["submission_id"], name: "index_tasks_on_submission_id", using: :btree
247 247
248 248 create_table "test_pairs", force: :cascade do |t|
249 249 t.integer "problem_id", limit: 4
250 250 t.text "input", limit: 16777215
251 251 t.text "solution", limit: 16777215
252 - t.datetime "created_at", null: false
253 - t.datetime "updated_at", null: false
252 + t.datetime "created_at"
253 + t.datetime "updated_at"
254 254 end
255 255
256 256 create_table "test_requests", force: :cascade do |t|
257 257 t.integer "user_id", limit: 4
258 258 t.integer "problem_id", limit: 4
259 259 t.integer "submission_id", limit: 4
260 260 t.string "input_file_name", limit: 255
261 261 t.string "output_file_name", limit: 255
262 262 t.string "running_stat", limit: 255
263 263 t.integer "status", limit: 4
264 - t.datetime "updated_at", null: false
264 + t.datetime "updated_at"
265 265 t.datetime "submitted_at"
266 266 t.datetime "compiled_at"
267 267 t.text "compiler_message", limit: 65535
268 268 t.datetime "graded_at"
269 269 t.string "grader_comment", limit: 255
270 - t.datetime "created_at", null: false
270 + t.datetime "created_at"
271 271 t.float "running_time", limit: 24
272 272 t.string "exit_status", limit: 255
273 273 t.integer "memory_usage", limit: 4
274 274 end
275 275
276 276 add_index "test_requests", ["user_id", "problem_id"], name: "index_test_requests_on_user_id_and_problem_id", using: :btree
@@ -288,14 +288,14
288 288
289 289 add_index "testcases", ["problem_id"], name: "index_testcases_on_problem_id", using: :btree
290 290
291 291 create_table "user_contest_stats", force: :cascade do |t|
292 292 t.integer "user_id", limit: 4
293 293 t.datetime "started_at"
294 - t.datetime "created_at", null: false
295 - t.datetime "updated_at", null: false
294 + t.datetime "created_at"
295 + t.datetime "updated_at"
296 296 t.boolean "forced_logout"
297 297 end
298 298
299 299 create_table "users", force: :cascade do |t|
300 300 t.string "login", limit: 50
301 301 t.string "full_name", limit: 255
@@ -305,16 +305,16
305 305 t.string "email", limit: 255
306 306 t.integer "site_id", limit: 4
307 307 t.integer "country_id", limit: 4
308 308 t.boolean "activated", default: false
309 309 t.datetime "created_at"
310 310 t.datetime "updated_at"
311 + t.string "section", limit: 255
311 312 t.boolean "enabled", default: true
312 313 t.string "remark", limit: 255
313 314 t.string "last_ip", limit: 255
314 - t.string "section", limit: 255
315 315 end
316 316
317 317 add_index "users", ["login"], name: "index_users_on_login", unique: true, using: :btree
318 318
319 319 add_foreign_key "problems_tags", "problems"
320 320 add_foreign_key "problems_tags", "tags"
You need to be logged in to leave comments. Login now