Description:
modernize problem
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r876:8cd1c60e1ef0 - - 22 files changed: 1041 inserted, 768 deleted

@@ -0,0 +1,6
1 + %h1 New Problem
2 +
3 + = render 'form', problem: @problem
4 + .row.my-3
5 + .col-md-4
6 + = link_to 'Back', problems_path, class: 'btn btn-secondary'
@@ -0,0 +1,57
1 + # This migration comes from active_storage (originally 20170806125915)
2 + class CreateActiveStorageTables < ActiveRecord::Migration[5.2]
3 + def change
4 + # Use Active Record's configured type for primary and foreign keys
5 + primary_key_type, foreign_key_type = primary_and_foreign_key_types
6 +
7 + create_table :active_storage_blobs, id: primary_key_type do |t|
8 + t.string :key, null: false
9 + t.string :filename, null: false
10 + t.string :content_type
11 + t.text :metadata
12 + t.string :service_name, null: false
13 + t.bigint :byte_size, null: false
14 + t.string :checksum
15 +
16 + if connection.supports_datetime_with_precision?
17 + t.datetime :created_at, precision: 6, null: false
18 + else
19 + t.datetime :created_at, null: false
20 + end
21 +
22 + t.index [ :key ], unique: true
23 + end
24 +
25 + create_table :active_storage_attachments, id: primary_key_type do |t|
26 + t.string :name, null: false
27 + t.references :record, null: false, polymorphic: true, index: false, type: foreign_key_type
28 + t.references :blob, null: false, type: foreign_key_type
29 +
30 + if connection.supports_datetime_with_precision?
31 + t.datetime :created_at, precision: 6, null: false
32 + else
33 + t.datetime :created_at, null: false
34 + end
35 +
36 + t.index [ :record_type, :record_id, :name, :blob_id ], name: :index_active_storage_attachments_uniqueness, unique: true
37 + t.foreign_key :active_storage_blobs, column: :blob_id
38 + end
39 +
40 + create_table :active_storage_variant_records, id: primary_key_type do |t|
41 + t.belongs_to :blob, null: false, index: false, type: foreign_key_type
42 + t.string :variation_digest, null: false
43 +
44 + t.index [ :blob_id, :variation_digest ], name: :index_active_storage_variant_records_uniqueness, unique: true
45 + t.foreign_key :active_storage_blobs, column: :blob_id
46 + end
47 + end
48 +
49 + private
50 + def primary_and_foreign_key_types
51 + config = Rails.configuration.generators
52 + setting = config.options[config.orm][:primary_key_type]
53 + primary_key_type = setting || :primary_key
54 + foreign_key_type = setting || :bigint
55 + [primary_key_type, foreign_key_type]
56 + end
57 + end
@@ -0,0 +1,6
1 + class AddDescriptionToProblems < ActiveRecord::Migration[7.0]
2 + def change
3 + add_column :problems, :description, :text
4 + add_column :problems, :markdown, :boolean
5 + end
6 + end
@@ -0,0 +1,21
1 + Problem.all.each do |p|
2 + next unless p.description_filename
3 + basename, ext = p.description_filename.split('.')
4 + filename = "#{Problem.download_file_basedir}/#{p.id}/#{basename}.#{ext}"
5 +
6 + if File.exists? filename
7 + p.statement.attach io: File.open(filename), filename: "#{basename}.#{ext}"
8 + puts "#{p.id}: OK"
9 + else
10 + puts "#{p.id}: #{p.name} #{filename} ERROR"
11 + end
12 +
13 + d = Description.where(id: p.description_id).first
14 + if d
15 + p.description = d.body
16 + p.markdown = d.markdowned
17 + end
18 + p.save
19 +
20 +
21 + end
@@ -35,3 +35,4
35 /config/secrets.yml
35 /config/secrets.yml
36
36
37 /.byebug_history
37 /.byebug_history
38 + /storage/*
@@ -77,7 +77,8
77 #gem 'jquery-datatables-rails'
77 #gem 'jquery-datatables-rails'
78
78
79 #----------- user interface -----------------
79 #----------- user interface -----------------
80 - gem 'simple_form'
80 + gem 'simple_form', git: 'https://github.com/heartcombo/simple_form', ref: '31fe255'
81 +
81 #select 2
82 #select 2
82 #gem 'select2-rails'
83 #gem 'select2-rails'
83 #ace editor
84 #ace editor
@@ -1,3 +1,12
1 + GIT
2 + remote: https://github.com/heartcombo/simple_form
3 + revision: 31fe25504771bd6cd425b585a4e0ed652fba4521
4 + ref: 31fe255
5 + specs:
6 + simple_form (5.1.0)
7 + actionpack (>= 5.2)
8 + activemodel (>= 5.2)
9 +
1 GIT
10 GIT
2 remote: https://github.com/mmotherwell/best_in_place
11 remote: https://github.com/mmotherwell/best_in_place
3 revision: 88eb3052623a9a6cd346864d2aca05021c2f80d0
12 revision: 88eb3052623a9a6cd346864d2aca05021c2f80d0
@@ -247,9 +256,6
247 rubyzip (>= 1.2.2, < 3.0)
256 rubyzip (>= 1.2.2, < 3.0)
248 websocket (~> 1.0)
257 websocket (~> 1.0)
249 sexp_processor (4.16.1)
258 sexp_processor (4.16.1)
250 - simple_form (5.1.0)
251 - actionpack (>= 5.2)
252 - activemodel (>= 5.2)
253 spring (2.1.1)
259 spring (2.1.1)
254 spring-watcher-listen (2.0.1)
260 spring-watcher-listen (2.0.1)
255 listen (>= 2.7, < 4.0)
261 listen (>= 2.7, < 4.0)
@@ -315,7 +321,7
315 rouge
321 rouge
316 sassc-rails
322 sassc-rails
317 selenium-webdriver
323 selenium-webdriver
318 - simple_form
324 + simple_form!
319 spring
325 spring
320 spring-watcher-listen (~> 2.0.0)
326 spring-watcher-listen (~> 2.0.0)
321 sprockets-rails
327 sprockets-rails
@@ -59,10 +59,6
59 }
59 }
60 }
60 }
61
61
62 - input {
63 - font-family: Tahoma, "sans-serif";
64 - }
65 -
66 h1 {
62 h1 {
67 color: #334488;
63 color: #334488;
68 }
64 }
@@ -7,6 +7,7
7 before_action :current_user
7 before_action :current_user
8 before_action :nav_announcement
8 before_action :nav_announcement
9 before_action :unique_visitor_id
9 before_action :unique_visitor_id
10 + before_action :active_controller_action
10
11
11 SINGLE_USER_MODE_CONF_KEY = 'system.single_user_mode'
12 SINGLE_USER_MODE_CONF_KEY = 'system.single_user_mode'
12 MULTIPLE_IP_LOGIN_CONF_KEY = 'right.multiple_ip_login'
13 MULTIPLE_IP_LOGIN_CONF_KEY = 'right.multiple_ip_login'
@@ -29,6 +30,12
29 @nav_announcement = Announcement.where(on_nav_bar: true)
30 @nav_announcement = Announcement.where(on_nav_bar: true)
30 end
31 end
31
32
33 + def active_controller_action
34 + #so that we can override this value inside each action
35 + @active_controller = controller_name
36 + @active_action = action_name
37 + end
38 +
32 def admin_authorization
39 def admin_authorization
33 return false unless check_valid_login
40 return false unless check_valid_login
34 user = User.includes(:roles).find(session[:user_id])
41 user = User.includes(:roles).find(session[:user_id])
@@ -1,38 +1,49
1 class ProblemsController < ApplicationController
1 class ProblemsController < ApplicationController
2
2
3 + include ActiveStorage::SetCurrent
4 +
3 before_action :admin_authorization, except: [:stat]
5 before_action :admin_authorization, except: [:stat]
6 + before_action :set_problem, only: [:show, :edit, :update, :destroy, :get_statement, :toggle, :toggle_test, :toggle_view_testcase, :stat]
4 before_action only: [:stat] do
7 before_action only: [:stat] do
5 authorization_by_roles(['admin','ta'])
8 authorization_by_roles(['admin','ta'])
6 end
9 end
7
10
11 +
8 def index
12 def index
9 @problems = Problem.order(date_added: :desc)
13 @problems = Problem.order(date_added: :desc)
10 end
14 end
11
15
12
16
13 def show
17 def show
14 - @problem = Problem.find(params[:id])
18 + end
19 +
20 + #get statement download link
21 + def get_statement
22 + unless @current_user.can_view_problem? @problem
23 + redirect_to list_main_path, error: 'You are not authorized to access this file'
24 + return
25 + end
26 +
27 + if params[:ext]=='pdf'
28 + content_type = 'application/pdf'
29 + else
30 + content_type = 'application/octet-stream'
31 + end
32 +
33 + filename = @problem.statement.filename.to_s
34 + data =@problem.statement.download
35 +
36 + send_data data, stream: false, disposition: 'inline', filename: filename, type: content_type
15 end
37 end
16
38
17 def new
39 def new
18 @problem = Problem.new
40 @problem = Problem.new
19 - @description = nil
20 end
41 end
21
42
22 def create
43 def create
23 @problem = Problem.new(problem_params)
44 @problem = Problem.new(problem_params)
24 - @description = Description.new(description_params)
25 - if @description.body!=''
26 - if !@description.save
27 - render :action => new and return
28 - end
29 - else
30 - @description = nil
31 - end
32 - @problem.description = @description
33 if @problem.save
45 if @problem.save
34 - flash[:notice] = 'Problem was successfully created.'
46 + redirect_to action: :index, notice: 'Problem was successfully created.'
35 - redirect_to action: :index
36 else
47 else
37 render :action => 'new'
48 render :action => 'new'
38 end
49 end
@@ -56,63 +67,31
56 end
67 end
57
68
58 def edit
69 def edit
59 - @problem = Problem.find(params[:id])
60 @description = @problem.description
70 @description = @problem.description
61 end
71 end
62
72
63 def update
73 def update
64 - @problem = Problem.find(params[:id])
74 + if problem_params[:statement] && problem_params[:statement].content_type != 'application/pdf'
65 - @description = @problem.description
75 + flash[:error] = 'Error: Uploaded file is not PDF'
66 - if @description.nil? and params[:description][:body]!=''
76 + render :action => 'edit'
67 - @description = Description.new(description_params)
77 + return
68 - if !@description.save
69 - flash[:notice] = 'Error saving description'
70 - render :action => 'edit' and return
71 - end
72 - @problem.description = @description
73 - elsif @description
74 - if !@description.update(description_params)
75 - flash[:notice] = 'Error saving description'
76 - render :action => 'edit' and return
77 - end
78 - end
79 - if params[:file] and params[:file].content_type != 'application/pdf'
80 - flash[:notice] = 'Error: Uploaded file is not PDF'
81 - render :action => 'edit' and return
82 end
78 end
83 if @problem.update(problem_params)
79 if @problem.update(problem_params)
84 flash[:notice] = 'Problem was successfully updated.'
80 flash[:notice] = 'Problem was successfully updated. '
85 - unless params[:file] == nil or params[:file] == ''
81 + flash[:notice] += 'A new statement PDF is uploaded' if problem_params[:statement]
86 - flash[:notice] = 'Problem was successfully updated and a new PDF file is uploaded.'
87 - out_dirname = "#{Problem.download_file_basedir}/#{@problem.id}"
88 - if not FileTest.exists? out_dirname
89 - Dir.mkdir out_dirname
90 - end
91 -
92 - out_filename = "#{out_dirname}/#{@problem.name}.pdf"
93 - if FileTest.exists? out_filename
94 - File.delete out_filename
95 - end
96 -
97 - File.open(out_filename,"wb") do |file|
98 - file.write(params[:file].read)
99 - end
100 - @problem.description_filename = "#{@problem.name}.pdf"
101 @problem.save
82 @problem.save
102 - end
83 + redirect_to edit_problem_path(@problem)
103 - redirect_to :action => 'show', :id => @problem
104 else
84 else
105 render :action => 'edit'
85 render :action => 'edit'
106 end
86 end
107 end
87 end
108
88
109 def destroy
89 def destroy
110 - p = Problem.find(params[:id]).destroy
90 + @problem.destroy
111 redirect_to action: :index
91 redirect_to action: :index
112 end
92 end
113
93
114 def toggle
94 def toggle
115 - @problem = Problem.find(params[:id])
116 @problem.update(available: !(@problem.available) )
95 @problem.update(available: !(@problem.available) )
117 respond_to do |format|
96 respond_to do |format|
118 format.js { }
97 format.js { }
@@ -120,7 +99,6
120 end
99 end
121
100
122 def toggle_test
101 def toggle_test
123 - @problem = Problem.find(params[:id])
124 @problem.update(test_allowed: !(@problem.test_allowed?) )
102 @problem.update(test_allowed: !(@problem.test_allowed?) )
125 respond_to do |format|
103 respond_to do |format|
126 format.js { }
104 format.js { }
@@ -128,7 +106,6
128 end
106 end
129
107
130 def toggle_view_testcase
108 def toggle_view_testcase
131 - @problem = Problem.find(params[:id])
132 @problem.update(view_testcase: !(@problem.view_testcase?) )
109 @problem.update(view_testcase: !(@problem.view_testcase?) )
133 respond_to do |format|
110 respond_to do |format|
134 format.js { }
111 format.js { }
@@ -152,7 +129,6
152 end
129 end
153
130
154 def stat
131 def stat
155 - @problem = Problem.find(params[:id])
156 unless @problem.available or session[:admin]
132 unless @problem.available or session[:admin]
157 redirect_to :controller => 'main', :action => 'list'
133 redirect_to :controller => 'main', :action => 'list'
158 return
134 return
@@ -295,8 +271,13
295
271
296 private
272 private
297
273
274 + def set_problem
275 + @problem = Problem.find(params[:id])
276 + end
277 +
298 def problem_params
278 def problem_params
299 - params.require(:problem).permit(:name, :full_name, :full_score, :change_date_added, :date_added, :available, :test_allowed,:output_only, :url, :description, tag_ids:[])
279 + params.require(:problem).permit(:name, :full_name, :full_score, :change_date_added, :date_added, :available,
280 + :test_allowed, :output_only, :url, :description, :statement, :description, tag_ids:[])
300 end
281 end
301
282
302 def description_params
283 def description_params
@@ -209,4 +209,15
209 BOOTSTRAP_FLASH_MSG.fetch(flash_type.to_sym, flash_type.to_s)
209 BOOTSTRAP_FLASH_MSG.fetch(flash_type.to_sym, flash_type.to_s)
210 end
210 end
211
211
212 + def active_class_when(options = {},cname = @active_controller, aname = @active_action)
213 + class_name = ' active '
214 + ok = true
215 + options.each do |k,v|
216 + ok = false if k == :controller && v.to_s != cname
217 + ok = false if k == :action && v.to_s != aname
212 end
218 end
219 + return class_name if ok && options.size > 0
220 + return ''
221 + end
222 +
223 + end
@@ -1,6 +1,7
1 class Problem < ApplicationRecord
1 class Problem < ApplicationRecord
2
2
3 - belongs_to :description
3 + #belongs_to :description
4 +
4 has_and_belongs_to_many :contests, :uniq => true
5 has_and_belongs_to_many :contests, :uniq => true
5
6
6 #has_and_belongs_to_many :groups
7 #has_and_belongs_to_many :groups
@@ -24,6 +25,9
24 DEFAULT_TIME_LIMIT = 1
25 DEFAULT_TIME_LIMIT = 1
25 DEFAULT_MEMORY_LIMIT = 32
26 DEFAULT_MEMORY_LIMIT = 32
26
27
28 + has_one_attached :statement
29 + has_many_attached :attachments
30 +
27 def get_jschart_history
31 def get_jschart_history
28 start = 4.month.ago.beginning_of_day
32 start = 4.month.ago.beginning_of_day
29 start_date = start.to_date
33 start_date = start.to_date
@@ -11,14 +11,14
11 / submission
11 / submission
12 - if (@current_user!=nil) and (GraderConfiguration.show_tasks_to?(@current_user))
12 - if (@current_user!=nil) and (GraderConfiguration.show_tasks_to?(@current_user))
13 %li.nav-item.dropdown.mx-2
13 %li.nav-item.dropdown.mx-2
14 - %a.nav-link.dropdown-toggle{href: '#', 'data-bs': {toggle:'dropdown'}, aria: {expanded:"false"}, role: "button"}
14 + %a.nav-link.dropdown-toggle.active-with-children{href: '#', 'data-bs': {toggle:'dropdown'}, aria: {expanded:"false"}, role: "button"}
15 = "#{I18n.t 'menu.submissions'}"
15 = "#{I18n.t 'menu.submissions'}"
16 %ul.dropdown-menu
16 %ul.dropdown-menu
17 - %li= link_to 'View', submissions_path, class:'dropdown-item'
17 + %li= link_to 'View', submissions_path, class: 'dropdown-item '+active_class_when(controller: :submissions)
18 %li= link_to 'Self Test', test_index_path, class:'dropdown-item'
18 %li= link_to 'Self Test', test_index_path, class:'dropdown-item'
19 / hall of fame
19 / hall of fame
20 - if GraderConfiguration['right.user_hall_of_fame']
20 - if GraderConfiguration['right.user_hall_of_fame']
21 - %li= link_to "#{I18n.t 'menu.hall_of_fame'}", problem_hof_report_path, class: 'nav-link mx-2'
21 + %li= link_to "#{I18n.t 'menu.hall_of_fame'}", problem_hof_report_path, class: 'nav-link mx-2'+active_class_when(controller: :report, action: :problem_hof)
22 / display MODE button (with countdown in contest mode)
22 / display MODE button (with countdown in contest mode)
23 - if GraderConfiguration.analysis_mode?
23 - if GraderConfiguration.analysis_mode?
24 %div.btn.btn-success#countdown= "ANALYSIS MODE"
24 %div.btn.btn-success#countdown= "ANALYSIS MODE"
@@ -35,33 +35,33
35 - if (@current_user!=nil) and (session[:admin])
35 - if (@current_user!=nil) and (session[:admin])
36 / management
36 / management
37 %li.nav-item.dropdown.mx-2
37 %li.nav-item.dropdown.mx-2
38 - %a.nav-link.dropdown-toggle{href: '#', 'data-bs': {toggle:'dropdown'}, aria: {haspopup:"true", expanded:"false"}, role: "button"}
38 + %a.nav-link.dropdown-toggle.active-with-children{href: '#', 'data-bs': {toggle:'dropdown'}, aria: {haspopup:"true", expanded:"false"}, role: "button"}
39 Manage
39 Manage
40 %ul.dropdown-menu
40 %ul.dropdown-menu
41 - %li= link_to 'Announcements', announcements_path, class: 'dropdown-item'
41 + %li= link_to 'Announcements', announcements_path, class: 'dropdown-item'+active_class_when(controller: :announcements)
42 - %li= link_to 'Problems', problems_path, class: 'dropdown-item'
42 + %li= link_to 'Problems', problems_path, class: 'dropdown-item'+active_class_when(controller: :problems)
43 - %li= link_to 'Tags', tags_path, class: 'dropdown-item'
43 + %li= link_to 'Tags', tags_path, class: 'dropdown-item'+active_class_when(controller: :tags)
44 - %li= link_to 'Users', user_admin_index_path, class: 'dropdown-item'
44 + %li= link_to 'Users', user_admin_index_path, class: 'dropdown-item'+active_class_when(controller: :user_admin)
45 - %li= link_to 'User Groups', groups_path, class: 'dropdown-item'
45 + %li= link_to 'User Groups', groups_path, class: 'dropdown-item'+active_class_when(controller: :groups)
46 - %li= link_to 'Graders', graders_list_path, class: 'dropdown-item'
46 + %li= link_to 'Graders', graders_list_path, class: 'dropdown-item'+active_class_when(controller: :graders)
47 - %li= link_to 'Message ', console_messages_path, class: 'dropdown-item'
47 + %li= link_to 'Message ', console_messages_path, class: 'dropdown-item'+active_class_when(controller: :messages)
48 %li
48 %li
49 %hr.dropdown-divider
49 %hr.dropdown-divider
50 - %li= link_to 'System config', grader_configuration_index_path, class: 'dropdown-item'
50 + %li= link_to 'System config', grader_configuration_index_path, class: 'dropdown-item'+active_class_when(controller: :grader_configuration)
51 %li
51 %li
52 %hr.dropdown-divider
52 %hr.dropdown-divider
53 - %li= link_to 'Sites', sites_path, class: 'dropdown-item'
53 + %li= link_to 'Sites', sites_path, class: 'dropdown-item'+active_class_when(controller: :sites)
54 - %li= link_to 'Contests', contest_management_index_path, class: 'dropdown-item'
54 + %li= link_to 'Contests', contest_management_index_path, class: 'dropdown-item'+active_class_when(controller: :contest_management)
55 -#
55 -#
56 / report
56 / report
57 %li.nav-item.dropdown.mx-2
57 %li.nav-item.dropdown.mx-2
58 - %a.nav-link.dropdown-toggle{href: '#', 'data-bs': {toggle:'dropdown'}, aria: {haspopup:"true", expanded:"false"}, role: "button"}
58 + %a.nav-link.dropdown-toggle.active-with-children{href: '#', 'data-bs': {toggle:'dropdown'}, aria: {haspopup:"true", expanded:"false"}, role: "button"}
59 Report
59 Report
60 %ul.dropdown-menu
60 %ul.dropdown-menu
61 - %li= link_to 'Current Score', current_score_report_path, class: 'dropdown-item'
61 + %li= link_to 'Current Score', current_score_report_path, class: 'dropdown-item'+active_class_when(controller: :report, action: :current_score)
62 - %li= link_to 'Score Report', max_score_report_path, class: 'dropdown-item'
62 + %li= link_to 'Score Report', max_score_report_path, class: 'dropdown-item'+active_class_when(controller: :report, action: :max_score)
63 - %li= link_to 'Submission Report', submission_report_path, class: 'dropdown-item'
63 + %li= link_to 'Submission Report', submission_report_path, class: 'dropdown-item'+active_class_when(controller: :report, action: :submission)
64 - %li= link_to 'Login Report', login_report_path, class: 'dropdown-item'
64 + %li= link_to 'Login Report', login_report_path, class: 'dropdown-item'+active_class_when(controller: :report, action: :login)
65 - if (ungraded = Submission.where('graded_at is null').where('submitted_at < ?', 1.minutes.ago).count) > 0
65 - if (ungraded = Submission.where('graded_at is null').where('submitted_at < ?', 1.minutes.ago).count) > 0
66 =link_to "#{ungraded} backlogs!",
66 =link_to "#{ungraded} backlogs!",
67 graders_list_path,
67 graders_list_path,
@@ -85,3 +85,9
85 %a.nav-link{href: login_main_path}
85 %a.nav-link{href: login_main_path}
86 %span.mi.mi-bs.md-18 exit_to_app
86 %span.mi.mi-bs.md-18 exit_to_app
87 = @current_user.full_name
87 = @current_user.full_name
88 + :javascript
89 + $('.active-with-children').each( (index,obj) => {
90 + if ($(obj).siblings('.dropdown-menu').has('.active').length > 0) {
91 + $(obj).addClass('active')
92 + }
93 + } )
@@ -1,4 +1,27
1 + = simple_form_for problem do |form|
2 + .row
3 + .col-md-6
4 + = form.input :name
5 + = form.input :full_name
6 + = form.input :full_score
7 + = form.input :tag_ids, collection: Tag.all, class: 'select2'
8 + = form.input :date_added
9 + = form.input :available
10 + = form.input :test_allowed
11 + = form.input :output_only
12 + = form.input :description, as: :text
13 + = form.input :markdown
14 + = form.input :url
15 + = form.input :statement
16 + %p
17 + - if @problem.statement.attached?
18 + %a{href: get_statement_problem_path(@problem)} [Download current Statement]
19 + - else
20 + no statement attached to this problem
21 + = form.submit :submit, class: 'btn btn-primary'
22 + -#
1 = error_messages_for 'problem'
23 = error_messages_for 'problem'
24 +
2 / [form:problem]
25 / [form:problem]
3 .form-group
26 .form-group
4 %label{:for => "problem_name"} Name
27 %label{:for => "problem_name"} Name
@@ -1,14 +1,6
1 - .container-fluid
1 + %h1 Editing Problem
2 - = form_for @problem,url:{action: 'update'},html: {multipart: true} do
2 +
3 - .row
3 + = render 'form', problem: @problem
4 - .col-md-6
4 + .row.my-3
5 - %h1 Editing problem
6 - = render :partial => 'form'
7 - .row
8 .col-md-4
5 .col-md-4
9 - = submit_tag 'Edit', class: 'btn btn-primary btn-block'
6 + = link_to 'Back', problems_path, class: 'btn btn-secondary'
10 - .col-md-4
11 - = link_to 'Show', {:action => 'show', :id => @problem}, class: 'btn btn-default btn-block'
12 - .col-md-4
13 - = link_to 'Back', problems_path, class: 'btn btn-default btn-block'
14 - .div{style: 'height: 5em'}
@@ -37,6 +37,9
37 %sup{class: 'text-primary',data: {toggle: 'tooltip'}, title: 'Let user uses test interface on this problem?' } [?]
37 %sup{class: 'text-primary',data: {toggle: 'tooltip'}, title: 'Let user uses test interface on this problem?' } [?]
38 - if GraderConfiguration.multicontests?
38 - if GraderConfiguration.multicontests?
39 %th Contests
39 %th Contests
40 + %th.text-center
41 + %th.text-center
42 + %th.text-center
40 - for problem in @problems
43 - for problem in @problems
41 %tr{:class => "#{(problem.available) ? "bg-success bg-opacity-25" : "bg-opacity-25"}", :id => "prob-#{problem.id}", :name => "prob-#{problem.id}"}
44 %tr{:class => "#{(problem.available) ? "bg-success bg-opacity-25" : "bg-opacity-25"}", :id => "prob-#{problem.id}", :name => "prob-#{problem.id}"}
42 - @problem=problem
45 - @problem=problem
@@ -58,7 +61,6
58 %td
61 %td
59 = problem.contests.collect { |c| c.name }.join(', ')
62 = problem.contests.collect { |c| c.name }.join(', ')
60 %td= link_to 'Stat', {:action => 'stat', :id => problem.id}, class: 'btn btn-info btn-sm btn-block'
63 %td= link_to 'Stat', {:action => 'stat', :id => problem.id}, class: 'btn btn-info btn-sm btn-block'
61 - %td= link_to 'Show', {:action => 'show', :id => problem}, class: 'btn btn-info btn-sm btn-block'
62 %td= link_to 'Edit', {:action => 'edit', :id => problem}, class: 'btn btn-info btn-sm btn-block'
64 %td= link_to 'Edit', {:action => 'edit', :id => problem}, class: 'btn btn-info btn-sm btn-block'
63 %td= link_to 'Destroy', { :action => 'destroy', :id => problem }, :confirm => 'Are you sure?', :method => :delete, class: 'btn btn-danger btn-sm btn-block'
65 %td= link_to 'Destroy', { :action => 'destroy', :id => problem }, :confirm => 'Are you sure?', :method => :delete, class: 'btn btn-danger btn-sm btn-block'
64 %br/
66 %br/
@@ -112,7 +112,7
112 # You can define the class to use on all labels. Default is nil.
112 # You can define the class to use on all labels. Default is nil.
113 # config.label_class = nil
113 # config.label_class = nil
114
114
115 - # You can define the default class to be used on forms. Can be overriden
115 + # You can define the default class to be used on forms. Can be overridden
116 # with `html: { :class }`. Defaulting to none.
116 # with `html: { :class }`. Defaulting to none.
117 # config.default_form_class = nil
117 # config.default_form_class = nil
118
118
@@ -1,10 +1,8
1 # frozen_string_literal: true
1 # frozen_string_literal: true
2
2
3 - # Please do not make direct changes to this file!
3 + # These defaults are defined and maintained by the community at
4 - # This generator is maintained by the community around simple_form-bootstrap:
4 + # https://github.com/heartcombo/simple_form-bootstrap
5 - # https://github.com/rafaelfranca/simple_form-bootstrap
5 + # Please submit feedback, changes and tests only there.
6 - # All future development, tests, and organization should happen there.
7 - # Background history: https://github.com/heartcombo/simple_form/issues/1561
8
6
9 # Uncomment this and change the path if necessary to include your own
7 # Uncomment this and change the path if necessary to include your own
10 # components.
8 # components.
@@ -43,13 +41,13
43
41
44 # add validation classes to `input_field`
42 # add validation classes to `input_field`
45 config.input_field_error_class = 'is-invalid'
43 config.input_field_error_class = 'is-invalid'
46 - config.input_field_valid_class = 'is-valid'
44 + config.input_field_valid_class = 'is-valid-xxx'
47
45
48
46
49 # vertical forms
47 # vertical forms
50 #
48 #
51 # vertical default_wrapper
49 # vertical default_wrapper
52 - config.wrappers :vertical_form, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
50 + config.wrappers :vertical_form, class: 'mb-3' do |b|
53 b.use :html5
51 b.use :html5
54 b.use :placeholder
52 b.use :placeholder
55 b.optional :maxlength
53 b.optional :maxlength
@@ -57,90 +55,100
57 b.optional :pattern
55 b.optional :pattern
58 b.optional :min_max
56 b.optional :min_max
59 b.optional :readonly
57 b.optional :readonly
60 - b.use :label
58 + b.use :label, class: 'form-label'
61 - b.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
59 + b.use :input, class: 'form-control', error_class: 'is-invalid'
62 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
60 + b.use :full_error, wrap_with: { class: 'invalid-feedback' }
63 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
61 + b.use :hint, wrap_with: { class: 'form-text' }
64 end
62 end
65
63
66 # vertical input for boolean
64 # vertical input for boolean
67 - config.wrappers :vertical_boolean, tag: 'fieldset', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
65 + config.wrappers :vertical_boolean, tag: 'fieldset', class: 'mb-3' do |b|
68 b.use :html5
66 b.use :html5
69 b.optional :readonly
67 b.optional :readonly
70 - b.wrapper :form_check_wrapper, tag: 'div', class: 'form-check' do |bb|
68 + b.wrapper :form_check_wrapper, class: 'form-check' do |bb|
71 - bb.use :input, class: 'form-check-input', error_class: 'is-invalid', valid_class: 'is-valid'
69 + bb.use :input, class: 'form-check-input', error_class: 'is-invalid'
72 bb.use :label, class: 'form-check-label'
70 bb.use :label, class: 'form-check-label'
73 - bb.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
71 + bb.use :full_error, wrap_with: { class: 'invalid-feedback' }
74 - bb.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
72 + bb.use :hint, wrap_with: { class: 'form-text' }
75 end
73 end
76 end
74 end
77
75
78 # vertical input for radio buttons and check boxes
76 # vertical input for radio buttons and check boxes
79 - config.wrappers :vertical_collection, item_wrapper_class: 'form-check', item_label_class: 'form-check-label', tag: 'fieldset', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
77 + config.wrappers :vertical_collection, item_wrapper_class: 'form-check', item_label_class: 'form-check-label', tag: 'fieldset', class: 'mb-3' do |b|
80 b.use :html5
78 b.use :html5
81 b.optional :readonly
79 b.optional :readonly
82 b.wrapper :legend_tag, tag: 'legend', class: 'col-form-label pt-0' do |ba|
80 b.wrapper :legend_tag, tag: 'legend', class: 'col-form-label pt-0' do |ba|
83 ba.use :label_text
81 ba.use :label_text
84 end
82 end
85 - b.use :input, class: 'form-check-input', error_class: 'is-invalid', valid_class: 'is-valid'
83 + b.use :input, class: 'form-check-input', error_class: 'is-invalid'
86 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
84 + b.use :full_error, wrap_with: { class: 'invalid-feedback d-block' }
87 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
85 + b.use :hint, wrap_with: { class: 'form-text' }
88 end
86 end
89
87
90 # vertical input for inline radio buttons and check boxes
88 # vertical input for inline radio buttons and check boxes
91 - config.wrappers :vertical_collection_inline, item_wrapper_class: 'form-check form-check-inline', item_label_class: 'form-check-label', tag: 'fieldset', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
89 + config.wrappers :vertical_collection_inline, item_wrapper_class: 'form-check form-check-inline', item_label_class: 'form-check-label', tag: 'fieldset', class: 'mb-3' do |b|
92 b.use :html5
90 b.use :html5
93 b.optional :readonly
91 b.optional :readonly
94 b.wrapper :legend_tag, tag: 'legend', class: 'col-form-label pt-0' do |ba|
92 b.wrapper :legend_tag, tag: 'legend', class: 'col-form-label pt-0' do |ba|
95 ba.use :label_text
93 ba.use :label_text
96 end
94 end
97 - b.use :input, class: 'form-check-input', error_class: 'is-invalid', valid_class: 'is-valid'
95 + b.use :input, class: 'form-check-input', error_class: 'is-invalid'
98 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
96 + b.use :full_error, wrap_with: { class: 'invalid-feedback d-block' }
99 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
97 + b.use :hint, wrap_with: { class: 'form-text' }
100 end
98 end
101
99
102 # vertical file input
100 # vertical file input
103 - config.wrappers :vertical_file, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
101 + config.wrappers :vertical_file, class: 'mb-3' do |b|
104 b.use :html5
102 b.use :html5
105 b.use :placeholder
103 b.use :placeholder
106 b.optional :maxlength
104 b.optional :maxlength
107 b.optional :minlength
105 b.optional :minlength
108 b.optional :readonly
106 b.optional :readonly
109 - b.use :label
107 + b.use :label, class: 'form-label'
110 - b.use :input, class: 'form-control-file', error_class: 'is-invalid', valid_class: 'is-valid'
108 + b.use :input, class: 'form-control', error_class: 'is-invalid'
111 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
109 + b.use :full_error, wrap_with: { class: 'invalid-feedback' }
112 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
110 + b.use :hint, wrap_with: { class: 'form-text' }
111 + end
112 +
113 + # vertical select input
114 + config.wrappers :vertical_select, class: 'mb-3' do |b|
115 + b.use :html5
116 + b.optional :readonly
117 + b.use :label, class: 'form-label'
118 + b.use :input, class: 'form-select', error_class: 'is-invalid'
119 + b.use :full_error, wrap_with: { class: 'invalid-feedback' }
120 + b.use :hint, wrap_with: { class: 'form-text' }
113 end
121 end
114
122
115 # vertical multi select
123 # vertical multi select
116 - config.wrappers :vertical_multi_select, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
124 + config.wrappers :vertical_multi_select, class: 'mb-3' do |b|
117 b.use :html5
125 b.use :html5
118 b.optional :readonly
126 b.optional :readonly
119 - b.use :label
127 + b.use :label, class: 'form-label'
120 - b.wrapper tag: 'div', class: 'd-flex flex-row justify-content-between align-items-center' do |ba|
128 + b.wrapper class: 'd-flex flex-row justify-content-between align-items-center' do |ba|
121 - ba.use :input, class: 'form-control mx-1', error_class: 'is-invalid', valid_class: 'is-valid'
129 + ba.use :input, class: 'form-select mx-1', error_class: 'is-invalid'
122 end
130 end
123 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
131 + b.use :full_error, wrap_with: { class: 'invalid-feedback d-block' }
124 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
132 + b.use :hint, wrap_with: { class: 'form-text' }
125 end
133 end
126
134
127 # vertical range input
135 # vertical range input
128 - config.wrappers :vertical_range, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
136 + config.wrappers :vertical_range, class: 'mb-3' do |b|
129 b.use :html5
137 b.use :html5
130 b.use :placeholder
138 b.use :placeholder
131 b.optional :readonly
139 b.optional :readonly
132 b.optional :step
140 b.optional :step
133 - b.use :label
141 + b.use :label, class: 'form-label'
134 - b.use :input, class: 'form-control-range', error_class: 'is-invalid', valid_class: 'is-valid'
142 + b.use :input, class: 'form-range', error_class: 'is-invalid'
135 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
143 + b.use :full_error, wrap_with: { class: 'invalid-feedback' }
136 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
144 + b.use :hint, wrap_with: { class: 'form-text' }
137 end
145 end
138
146
139
147
140 # horizontal forms
148 # horizontal forms
141 #
149 #
142 # horizontal default_wrapper
150 # horizontal default_wrapper
143 - config.wrappers :horizontal_form, tag: 'div', class: 'form-group row', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
151 + config.wrappers :horizontal_form, class: 'row mb-3' do |b|
144 b.use :html5
152 b.use :html5
145 b.use :placeholder
153 b.use :placeholder
146 b.optional :maxlength
154 b.optional :maxlength
@@ -149,94 +157,103
149 b.optional :min_max
157 b.optional :min_max
150 b.optional :readonly
158 b.optional :readonly
151 b.use :label, class: 'col-sm-3 col-form-label'
159 b.use :label, class: 'col-sm-3 col-form-label'
152 - b.wrapper :grid_wrapper, tag: 'div', class: 'col-sm-9' do |ba|
160 + b.wrapper :grid_wrapper, class: 'col-sm-9' do |ba|
153 - ba.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
161 + ba.use :input, class: 'form-control', error_class: 'is-invalid'
154 - ba.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
162 + ba.use :full_error, wrap_with: { class: 'invalid-feedback' }
155 - ba.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
163 + ba.use :hint, wrap_with: { class: 'form-text' }
156 end
164 end
157 end
165 end
158
166
159 # horizontal input for boolean
167 # horizontal input for boolean
160 - config.wrappers :horizontal_boolean, tag: 'div', class: 'form-group row', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
168 + config.wrappers :horizontal_boolean, class: 'row mb-3' do |b|
161 b.use :html5
169 b.use :html5
162 b.optional :readonly
170 b.optional :readonly
163 - b.wrapper tag: 'label', class: 'col-sm-3' do |ba|
171 + b.wrapper :grid_wrapper, class: 'col-sm-9 offset-sm-3' do |wr|
164 - ba.use :label_text
172 + wr.wrapper :form_check_wrapper, class: 'form-check' do |bb|
165 - end
173 + bb.use :input, class: 'form-check-input', error_class: 'is-invalid'
166 - b.wrapper :grid_wrapper, tag: 'div', class: 'col-sm-9' do |wr|
167 - wr.wrapper :form_check_wrapper, tag: 'div', class: 'form-check' do |bb|
168 - bb.use :input, class: 'form-check-input', error_class: 'is-invalid', valid_class: 'is-valid'
169 bb.use :label, class: 'form-check-label'
174 bb.use :label, class: 'form-check-label'
170 - bb.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
175 + bb.use :full_error, wrap_with: { class: 'invalid-feedback' }
171 - bb.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
176 + bb.use :hint, wrap_with: { class: 'form-text' }
172 end
177 end
173 end
178 end
174 end
179 end
175
180
176 # horizontal input for radio buttons and check boxes
181 # horizontal input for radio buttons and check boxes
177 - config.wrappers :horizontal_collection, item_wrapper_class: 'form-check', item_label_class: 'form-check-label', tag: 'div', class: 'form-group row', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
182 + config.wrappers :horizontal_collection, item_wrapper_class: 'form-check', item_label_class: 'form-check-label', class: 'row mb-3' do |b|
178 b.use :html5
183 b.use :html5
179 b.optional :readonly
184 b.optional :readonly
180 b.use :label, class: 'col-sm-3 col-form-label pt-0'
185 b.use :label, class: 'col-sm-3 col-form-label pt-0'
181 - b.wrapper :grid_wrapper, tag: 'div', class: 'col-sm-9' do |ba|
186 + b.wrapper :grid_wrapper, class: 'col-sm-9' do |ba|
182 - ba.use :input, class: 'form-check-input', error_class: 'is-invalid', valid_class: 'is-valid'
187 + ba.use :input, class: 'form-check-input', error_class: 'is-invalid'
183 - ba.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
188 + ba.use :full_error, wrap_with: { class: 'invalid-feedback d-block' }
184 - ba.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
189 + ba.use :hint, wrap_with: { class: 'form-text' }
185 end
190 end
186 end
191 end
187
192
188 # horizontal input for inline radio buttons and check boxes
193 # horizontal input for inline radio buttons and check boxes
189 - config.wrappers :horizontal_collection_inline, item_wrapper_class: 'form-check form-check-inline', item_label_class: 'form-check-label', tag: 'div', class: 'form-group row', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
194 + config.wrappers :horizontal_collection_inline, item_wrapper_class: 'form-check form-check-inline', item_label_class: 'form-check-label', class: 'row mb-3' do |b|
190 b.use :html5
195 b.use :html5
191 b.optional :readonly
196 b.optional :readonly
192 b.use :label, class: 'col-sm-3 col-form-label pt-0'
197 b.use :label, class: 'col-sm-3 col-form-label pt-0'
193 - b.wrapper :grid_wrapper, tag: 'div', class: 'col-sm-9' do |ba|
198 + b.wrapper :grid_wrapper, class: 'col-sm-9' do |ba|
194 - ba.use :input, class: 'form-check-input', error_class: 'is-invalid', valid_class: 'is-valid'
199 + ba.use :input, class: 'form-check-input', error_class: 'is-invalid'
195 - ba.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
200 + ba.use :full_error, wrap_with: { class: 'invalid-feedback d-block' }
196 - ba.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
201 + ba.use :hint, wrap_with: { class: 'form-text' }
197 end
202 end
198 end
203 end
199
204
200 # horizontal file input
205 # horizontal file input
201 - config.wrappers :horizontal_file, tag: 'div', class: 'form-group row', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
206 + config.wrappers :horizontal_file, class: 'row mb-3' do |b|
202 b.use :html5
207 b.use :html5
203 b.use :placeholder
208 b.use :placeholder
204 b.optional :maxlength
209 b.optional :maxlength
205 b.optional :minlength
210 b.optional :minlength
206 b.optional :readonly
211 b.optional :readonly
207 b.use :label, class: 'col-sm-3 col-form-label'
212 b.use :label, class: 'col-sm-3 col-form-label'
208 - b.wrapper :grid_wrapper, tag: 'div', class: 'col-sm-9' do |ba|
213 + b.wrapper :grid_wrapper, class: 'col-sm-9' do |ba|
209 - ba.use :input, error_class: 'is-invalid', valid_class: 'is-valid'
214 + ba.use :input, class: 'form-control', error_class: 'is-invalid'
210 - ba.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
215 + ba.use :full_error, wrap_with: { class: 'invalid-feedback' }
211 - ba.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
216 + ba.use :hint, wrap_with: { class: 'form-text' }
217 + end
218 + end
219 +
220 + # horizontal select input
221 + config.wrappers :horizontal_select, class: 'row mb-3' do |b|
222 + b.use :html5
223 + b.optional :readonly
224 + b.use :label, class: 'col-sm-3 col-form-label'
225 + b.wrapper :grid_wrapper, class: 'col-sm-9' do |ba|
226 + ba.use :input, class: 'form-select', error_class: 'is-invalid'
227 + ba.use :full_error, wrap_with: { class: 'invalid-feedback' }
228 + ba.use :hint, wrap_with: { class: 'form-text' }
212 end
229 end
213 end
230 end
214
231
215 # horizontal multi select
232 # horizontal multi select
216 - config.wrappers :horizontal_multi_select, tag: 'div', class: 'form-group row', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
233 + config.wrappers :horizontal_multi_select, class: 'row mb-3' do |b|
217 b.use :html5
234 b.use :html5
218 b.optional :readonly
235 b.optional :readonly
219 b.use :label, class: 'col-sm-3 col-form-label'
236 b.use :label, class: 'col-sm-3 col-form-label'
220 - b.wrapper :grid_wrapper, tag: 'div', class: 'col-sm-9' do |ba|
237 + b.wrapper :grid_wrapper, class: 'col-sm-9' do |ba|
221 - ba.wrapper tag: 'div', class: 'd-flex flex-row justify-content-between align-items-center' do |bb|
238 + ba.wrapper class: 'd-flex flex-row justify-content-between align-items-center' do |bb|
222 - bb.use :input, class: 'form-control mx-1', error_class: 'is-invalid', valid_class: 'is-valid'
239 + bb.use :input, class: 'form-select mx-1', error_class: 'is-invalid'
223 end
240 end
224 - ba.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
241 + ba.use :full_error, wrap_with: { class: 'invalid-feedback d-block' }
225 - ba.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
242 + ba.use :hint, wrap_with: { class: 'form-text' }
226 end
243 end
227 end
244 end
228
245
229 # horizontal range input
246 # horizontal range input
230 - config.wrappers :horizontal_range, tag: 'div', class: 'form-group row', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
247 + config.wrappers :horizontal_range, class: 'row mb-3' do |b|
231 b.use :html5
248 b.use :html5
232 b.use :placeholder
249 b.use :placeholder
233 b.optional :readonly
250 b.optional :readonly
234 b.optional :step
251 b.optional :step
235 - b.use :label, class: 'col-sm-3 col-form-label'
252 + b.use :label, class: 'col-sm-3 col-form-label pt-0'
236 - b.wrapper :grid_wrapper, tag: 'div', class: 'col-sm-9' do |ba|
253 + b.wrapper :grid_wrapper, class: 'col-sm-9' do |ba|
237 - ba.use :input, class: 'form-control-range', error_class: 'is-invalid', valid_class: 'is-valid'
254 + ba.use :input, class: 'form-range', error_class: 'is-invalid'
238 - ba.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
255 + ba.use :full_error, wrap_with: { class: 'invalid-feedback' }
239 - ba.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
256 + ba.use :hint, wrap_with: { class: 'form-text' }
240 end
257 end
241 end
258 end
242
259
@@ -244,7 +261,7
244 # inline forms
261 # inline forms
245 #
262 #
246 # inline default_wrapper
263 # inline default_wrapper
247 - config.wrappers :inline_form, tag: 'span', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
264 + config.wrappers :inline_form, class: 'col-12' do |b|
248 b.use :html5
265 b.use :html5
249 b.use :placeholder
266 b.use :placeholder
250 b.optional :maxlength
267 b.optional :maxlength
@@ -252,140 +269,44
252 b.optional :pattern
269 b.optional :pattern
253 b.optional :min_max
270 b.optional :min_max
254 b.optional :readonly
271 b.optional :readonly
255 - b.use :label, class: 'sr-only'
272 + b.use :label, class: 'visually-hidden'
256
273
257 - b.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
274 + b.use :input, class: 'form-control', error_class: 'is-invalid'
258 - b.use :error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
275 + b.use :error, wrap_with: { class: 'invalid-feedback' }
259 - b.optional :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
276 + b.optional :hint, wrap_with: { class: 'form-text' }
260 end
277 end
261
278
262 # inline input for boolean
279 # inline input for boolean
263 - config.wrappers :inline_boolean, tag: 'span', class: 'form-check mb-2 mr-sm-2', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
280 + config.wrappers :inline_boolean, class: 'col-12' do |b|
264 b.use :html5
281 b.use :html5
265 b.optional :readonly
282 b.optional :readonly
266 - b.use :input, class: 'form-check-input', error_class: 'is-invalid', valid_class: 'is-valid'
283 + b.wrapper :form_check_wrapper, class: 'form-check' do |bb|
267 - b.use :label, class: 'form-check-label'
284 + bb.use :input, class: 'form-check-input', error_class: 'is-invalid'
268 - b.use :error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
285 + bb.use :label, class: 'form-check-label'
269 - b.optional :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
286 + bb.use :error, wrap_with: { class: 'invalid-feedback' }
287 + bb.optional :hint, wrap_with: { class: 'form-text' }
288 + end
270 end
289 end
271
290
272
291
273 # bootstrap custom forms
292 # bootstrap custom forms
274 #
293 #
275 - # custom input for boolean
276 - config.wrappers :custom_boolean, tag: 'fieldset', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
277 - b.use :html5
278 - b.optional :readonly
279 - b.wrapper :form_check_wrapper, tag: 'div', class: 'custom-control custom-checkbox' do |bb|
280 - bb.use :input, class: 'custom-control-input', error_class: 'is-invalid', valid_class: 'is-valid'
281 - bb.use :label, class: 'custom-control-label'
282 - bb.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
283 - bb.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
284 - end
285 - end
286 -
287 # custom input switch for boolean
294 # custom input switch for boolean
288 - config.wrappers :custom_boolean_switch, tag: 'fieldset', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
295 + config.wrappers :custom_boolean_switch, class: 'mb-3' do |b|
289 - b.use :html5
290 - b.optional :readonly
291 - b.wrapper :form_check_wrapper, tag: 'div', class: 'custom-control custom-switch' do |bb|
292 - bb.use :input, class: 'custom-control-input', error_class: 'is-invalid', valid_class: 'is-valid'
293 - bb.use :label, class: 'custom-control-label'
294 - bb.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
295 - bb.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
296 - end
297 - end
298 -
299 - # custom input for radio buttons and check boxes
300 - config.wrappers :custom_collection, item_wrapper_class: 'custom-control', item_label_class: 'custom-control-label', tag: 'fieldset', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
301 - b.use :html5
302 - b.optional :readonly
303 - b.wrapper :legend_tag, tag: 'legend', class: 'col-form-label pt-0' do |ba|
304 - ba.use :label_text
305 - end
306 - b.use :input, class: 'custom-control-input', error_class: 'is-invalid', valid_class: 'is-valid'
307 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
308 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
309 - end
310 -
311 - # custom input for inline radio buttons and check boxes
312 - config.wrappers :custom_collection_inline, item_wrapper_class: 'custom-control custom-control-inline', item_label_class: 'custom-control-label', tag: 'fieldset', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
313 b.use :html5
296 b.use :html5
314 b.optional :readonly
297 b.optional :readonly
315 - b.wrapper :legend_tag, tag: 'legend', class: 'col-form-label pt-0' do |ba|
298 + b.wrapper :form_check_wrapper, tag: 'div', class: 'form-check form-switch' do |bb|
316 - ba.use :label_text
299 + bb.use :input, class: 'form-check-input', error_class: 'is-invalid'
317 - end
300 + bb.use :label, class: 'form-check-label'
318 - b.use :input, class: 'custom-control-input', error_class: 'is-invalid', valid_class: 'is-valid'
301 + bb.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
319 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
302 + bb.use :hint, wrap_with: { class: 'form-text' }
320 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
321 - end
322 -
323 - # custom file input
324 - config.wrappers :custom_file, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
325 - b.use :html5
326 - b.use :placeholder
327 - b.optional :maxlength
328 - b.optional :minlength
329 - b.optional :readonly
330 - b.use :label
331 - b.wrapper :custom_file_wrapper, tag: 'div', class: 'custom-file' do |ba|
332 - ba.use :input, class: 'custom-file-input', error_class: 'is-invalid', valid_class: 'is-valid'
333 - ba.use :label, class: 'custom-file-label'
334 - ba.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
335 - end
336 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
337 end
303 end
338 -
339 - # custom multi select
340 - config.wrappers :custom_multi_select, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
341 - b.use :html5
342 - b.optional :readonly
343 - b.use :label
344 - b.wrapper tag: 'div', class: 'd-flex flex-row justify-content-between align-items-center' do |ba|
345 - ba.use :input, class: 'custom-select mx-1', error_class: 'is-invalid', valid_class: 'is-valid'
346 - end
347 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
348 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
349 - end
350 -
351 - # custom range input
352 - config.wrappers :custom_range, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
353 - b.use :html5
354 - b.use :placeholder
355 - b.optional :readonly
356 - b.optional :step
357 - b.use :label
358 - b.use :input, class: 'custom-range', error_class: 'is-invalid', valid_class: 'is-valid'
359 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
360 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
361 end
304 end
362
305
363
306
364 # Input Group - custom component
307 # Input Group - custom component
365 - # see example app and config at https://github.com/rafaelfranca/simple_form-bootstrap
308 + # see example app and config at https://github.com/heartcombo/simple_form-bootstrap
366 - # config.wrappers :input_group, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
309 + config.wrappers :input_group, class: 'mb-3' do |b|
367 - # b.use :html5
368 - # b.use :placeholder
369 - # b.optional :maxlength
370 - # b.optional :minlength
371 - # b.optional :pattern
372 - # b.optional :min_max
373 - # b.optional :readonly
374 - # b.use :label
375 - # b.wrapper :input_group_tag, tag: 'div', class: 'input-group' do |ba|
376 - # ba.optional :prepend
377 - # ba.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
378 - # ba.optional :append
379 - # end
380 - # b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
381 - # b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
382 - # end
383 -
384 -
385 - # Floating Labels form
386 - #
387 - # floating labels default_wrapper
388 - config.wrappers :floating_labels_form, tag: 'div', class: 'form-label-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
389 b.use :html5
310 b.use :html5
390 b.use :placeholder
311 b.use :placeholder
391 b.optional :maxlength
312 b.optional :maxlength
@@ -393,20 +314,42
393 b.optional :pattern
314 b.optional :pattern
394 b.optional :min_max
315 b.optional :min_max
395 b.optional :readonly
316 b.optional :readonly
396 - b.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
317 + b.use :label, class: 'form-label'
318 + b.wrapper :input_group_tag, class: 'input-group' do |ba|
319 + ba.optional :prepend
320 + ba.use :input, class: 'form-control', error_class: 'is-invalid'
321 + ba.optional :append
322 + ba.use :full_error, wrap_with: { class: 'invalid-feedback' }
323 + end
324 + b.use :hint, wrap_with: { class: 'form-text' }
325 + end
326 +
327 +
328 + # Floating Labels form
329 + #
330 + # floating labels default_wrapper
331 + config.wrappers :floating_labels_form, class: 'form-floating mb-3' do |b|
332 + b.use :html5
333 + b.use :placeholder
334 + b.optional :maxlength
335 + b.optional :minlength
336 + b.optional :pattern
337 + b.optional :min_max
338 + b.optional :readonly
339 + b.use :input, class: 'form-control', error_class: 'is-invalid'
397 b.use :label
340 b.use :label
398 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
341 + b.use :full_error, wrap_with: { class: 'invalid-feedback' }
399 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
342 + b.use :hint, wrap_with: { class: 'form-text' }
400 end
343 end
401
344
402 # custom multi select
345 # custom multi select
403 - config.wrappers :floating_labels_select, tag: 'div', class: 'form-label-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
346 + config.wrappers :floating_labels_select, class: 'form-floating mb-3' do |b|
404 b.use :html5
347 b.use :html5
405 b.optional :readonly
348 b.optional :readonly
406 - b.use :input, class: 'custom-select', error_class: 'is-invalid', valid_class: 'is-valid'
349 + b.use :input, class: 'form-select', error_class: 'is-invalid'
407 b.use :label
350 b.use :label
408 - b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
351 + b.use :full_error, wrap_with: { class: 'invalid-feedback' }
409 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
352 + b.use :hint, wrap_with: { class: 'form-text' }
410 end
353 end
411
354
412
355
@@ -423,18 +366,7
423 file: :vertical_file,
366 file: :vertical_file,
424 radio_buttons: :vertical_collection,
367 radio_buttons: :vertical_collection,
425 range: :vertical_range,
368 range: :vertical_range,
426 - time: :vertical_multi_select
369 + time: :vertical_multi_select,
370 + select: :vertical_select
427 }
371 }
428 -
429 - # enable custom form wrappers
430 - # config.wrapper_mappings = {
431 - # boolean: :custom_boolean,
432 - # check_boxes: :custom_collection,
433 - # date: :custom_multi_select,
434 - # datetime: :custom_multi_select,
435 - # file: :custom_file,
436 - # radio_buttons: :custom_collection,
437 - # range: :custom_range,
438 - # time: :custom_multi_select
439 - # }
440 end
372 end
@@ -34,6 +34,7
34 get 'toggle_test'
34 get 'toggle_test'
35 get 'toggle_view_testcase'
35 get 'toggle_view_testcase'
36 get 'stat'
36 get 'stat'
37 + get 'get_statement'
37 end
38 end
38 collection do
39 collection do
39 get 'turn_all_off'
40 get 'turn_all_off'
@@ -10,10 +10,38
10 #
10 #
11 # It's strongly recommended that you check this file into your version control system.
11 # It's strongly recommended that you check this file into your version control system.
12
12
13 - ActiveRecord::Schema[7.0].define(version: 2022_02_04_080936) do
13 + ActiveRecord::Schema[7.0].define(version: 2022_09_27_074644) do
14 - create_table "announcements", id: :integer, charset: "utf8", force: :cascade do |t|
14 + create_table "active_storage_attachments", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
15 + t.string "name", null: false
16 + t.string "record_type", null: false
17 + t.bigint "record_id", null: false
18 + t.bigint "blob_id", null: false
19 + t.datetime "created_at", null: false
20 + t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id"
21 + t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
22 + end
23 +
24 + create_table "active_storage_blobs", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
25 + t.string "key", null: false
26 + t.string "filename", null: false
27 + t.string "content_type"
28 + t.text "metadata"
29 + t.string "service_name", null: false
30 + t.bigint "byte_size", null: false
31 + t.string "checksum"
32 + t.datetime "created_at", null: false
33 + t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
34 + end
35 +
36 + create_table "active_storage_variant_records", charset: "utf8mb4", collation: "utf8mb4_0900_ai_ci", force: :cascade do |t|
37 + t.bigint "blob_id", null: false
38 + t.string "variation_digest", null: false
39 + t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true
40 + end
41 +
42 + create_table "announcements", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
15 t.string "author"
43 t.string "author"
16 - t.text "body", size: :medium
44 + t.text "body"
17 t.boolean "published"
45 t.boolean "published"
18 t.datetime "created_at", precision: nil, null: false
46 t.datetime "created_at", precision: nil, null: false
19 t.datetime "updated_at", precision: nil, null: false
47 t.datetime "updated_at", precision: nil, null: false
@@ -24,7 +52,7
24 t.boolean "on_nav_bar", default: false
52 t.boolean "on_nav_bar", default: false
25 end
53 end
26
54
27 - create_table "contests", id: :integer, charset: "utf8", force: :cascade do |t|
55 + create_table "contests", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
28 t.string "title"
56 t.string "title"
29 t.boolean "enabled"
57 t.boolean "enabled"
30 t.datetime "created_at", precision: nil, null: false
58 t.datetime "created_at", precision: nil, null: false
@@ -32,39 +60,39
32 t.string "name"
60 t.string "name"
33 end
61 end
34
62
35 - create_table "contests_problems", id: false, charset: "utf8", force: :cascade do |t|
63 + create_table "contests_problems", id: false, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
36 t.integer "contest_id"
64 t.integer "contest_id"
37 t.integer "problem_id"
65 t.integer "problem_id"
38 end
66 end
39
67
40 - create_table "contests_users", id: false, charset: "utf8", force: :cascade do |t|
68 + create_table "contests_users", id: false, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
41 t.integer "contest_id"
69 t.integer "contest_id"
42 t.integer "user_id"
70 t.integer "user_id"
43 end
71 end
44
72
45 - create_table "countries", id: :integer, charset: "utf8", force: :cascade do |t|
73 + create_table "countries", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
46 t.string "name"
74 t.string "name"
47 t.datetime "created_at", precision: nil, null: false
75 t.datetime "created_at", precision: nil, null: false
48 t.datetime "updated_at", precision: nil, null: false
76 t.datetime "updated_at", precision: nil, null: false
49 end
77 end
50
78
51 - create_table "descriptions", id: :integer, charset: "utf8", force: :cascade do |t|
79 + create_table "descriptions", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
52 - t.text "body", size: :medium
80 + t.text "body"
53 t.boolean "markdowned"
81 t.boolean "markdowned"
54 t.datetime "created_at", precision: nil, null: false
82 t.datetime "created_at", precision: nil, null: false
55 t.datetime "updated_at", precision: nil, null: false
83 t.datetime "updated_at", precision: nil, null: false
56 end
84 end
57
85
58 - create_table "grader_configurations", id: :integer, charset: "utf8", force: :cascade do |t|
86 + create_table "grader_configurations", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
59 t.string "key"
87 t.string "key"
60 t.string "value_type"
88 t.string "value_type"
61 t.string "value"
89 t.string "value"
62 t.datetime "created_at", precision: nil, null: false
90 t.datetime "created_at", precision: nil, null: false
63 t.datetime "updated_at", precision: nil, null: false
91 t.datetime "updated_at", precision: nil, null: false
64 - t.text "description", size: :medium
92 + t.text "description"
65 end
93 end
66
94
67 - create_table "grader_processes", id: :integer, charset: "utf8", force: :cascade do |t|
95 + create_table "grader_processes", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
68 t.string "host"
96 t.string "host"
69 t.integer "pid"
97 t.integer "pid"
70 t.string "mode"
98 t.string "mode"
@@ -95,7 +123,7
95 t.index ["user_id", "group_id"], name: "index_groups_users_on_user_id_and_group_id"
123 t.index ["user_id", "group_id"], name: "index_groups_users_on_user_id_and_group_id"
96 end
124 end
97
125
98 - create_table "heart_beats", id: :integer, charset: "latin1", force: :cascade do |t|
126 + create_table "heart_beats", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
99 t.integer "user_id"
127 t.integer "user_id"
100 t.string "ip_address"
128 t.string "ip_address"
101 t.datetime "created_at", precision: nil, null: false
129 t.datetime "created_at", precision: nil, null: false
@@ -104,14 +132,14
104 t.index ["updated_at"], name: "index_heart_beats_on_updated_at"
132 t.index ["updated_at"], name: "index_heart_beats_on_updated_at"
105 end
133 end
106
134
107 - create_table "languages", id: :integer, charset: "utf8", force: :cascade do |t|
135 + create_table "languages", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
108 t.string "name", limit: 10
136 t.string "name", limit: 10
109 t.string "pretty_name"
137 t.string "pretty_name"
110 t.string "ext", limit: 10
138 t.string "ext", limit: 10
111 t.string "common_ext"
139 t.string "common_ext"
112 end
140 end
113
141
114 - create_table "logins", id: :integer, charset: "latin1", force: :cascade do |t|
142 + create_table "logins", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
115 t.integer "user_id"
143 t.integer "user_id"
116 t.string "ip_address"
144 t.string "ip_address"
117 t.datetime "created_at", precision: nil, null: false
145 t.datetime "created_at", precision: nil, null: false
@@ -119,18 +147,18
119 t.index ["user_id"], name: "index_logins_on_user_id"
147 t.index ["user_id"], name: "index_logins_on_user_id"
120 end
148 end
121
149
122 - create_table "messages", id: :integer, charset: "utf8", force: :cascade do |t|
150 + create_table "messages", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
123 t.integer "sender_id"
151 t.integer "sender_id"
124 t.integer "receiver_id"
152 t.integer "receiver_id"
125 t.integer "replying_message_id"
153 t.integer "replying_message_id"
126 - t.text "body", size: :medium
154 + t.text "body"
127 t.boolean "replied"
155 t.boolean "replied"
128 t.datetime "created_at", precision: nil, null: false
156 t.datetime "created_at", precision: nil, null: false
129 t.datetime "updated_at", precision: nil, null: false
157 t.datetime "updated_at", precision: nil, null: false
130 end
158 end
131
159
132 - create_table "problems", id: :bigint, default: nil, charset: "utf8", force: :cascade do |t|
160 + create_table "problems", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
133 - t.string "name", limit: 100
161 + t.string "name", limit: 30
134 t.string "full_name"
162 t.string "full_name"
135 t.integer "full_score"
163 t.integer "full_score"
136 t.date "date_added"
164 t.date "date_added"
@@ -142,47 +170,49
142 t.string "description_filename"
170 t.string "description_filename"
143 t.boolean "view_testcase"
171 t.boolean "view_testcase"
144 t.integer "difficulty"
172 t.integer "difficulty"
173 + t.text "description"
174 + t.boolean "markdown"
145 end
175 end
146
176
147 - create_table "problems_tags", id: :bigint, default: nil, charset: "latin1", force: :cascade do |t|
177 + create_table "problems_tags", id: :integer, charset: "latin1", force: :cascade do |t|
148 - t.bigint "problem_id"
178 + t.integer "problem_id"
149 t.integer "tag_id"
179 t.integer "tag_id"
150 t.index ["problem_id", "tag_id"], name: "index_problems_tags_on_problem_id_and_tag_id", unique: true
180 t.index ["problem_id", "tag_id"], name: "index_problems_tags_on_problem_id_and_tag_id", unique: true
151 t.index ["problem_id"], name: "index_problems_tags_on_problem_id"
181 t.index ["problem_id"], name: "index_problems_tags_on_problem_id"
152 t.index ["tag_id"], name: "index_problems_tags_on_tag_id"
182 t.index ["tag_id"], name: "index_problems_tags_on_tag_id"
153 end
183 end
154
184
155 - create_table "rights", id: :integer, charset: "utf8", force: :cascade do |t|
185 + create_table "rights", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
156 t.string "name"
186 t.string "name"
157 t.string "controller"
187 t.string "controller"
158 t.string "action"
188 t.string "action"
159 end
189 end
160
190
161 - create_table "rights_roles", id: false, charset: "utf8", force: :cascade do |t|
191 + create_table "rights_roles", id: false, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
162 t.integer "right_id"
192 t.integer "right_id"
163 t.integer "role_id"
193 t.integer "role_id"
164 t.index ["role_id"], name: "index_rights_roles_on_role_id"
194 t.index ["role_id"], name: "index_rights_roles_on_role_id"
165 end
195 end
166
196
167 - create_table "roles", id: :integer, charset: "utf8", force: :cascade do |t|
197 + create_table "roles", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
168 t.string "name"
198 t.string "name"
169 end
199 end
170
200
171 - create_table "roles_users", id: false, charset: "utf8", force: :cascade do |t|
201 + create_table "roles_users", id: false, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
172 t.integer "role_id"
202 t.integer "role_id"
173 t.integer "user_id"
203 t.integer "user_id"
174 t.index ["user_id"], name: "index_roles_users_on_user_id"
204 t.index ["user_id"], name: "index_roles_users_on_user_id"
175 end
205 end
176
206
177 - create_table "sessions", id: :integer, charset: "utf8", force: :cascade do |t|
207 + create_table "sessions", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
178 t.string "session_id"
208 t.string "session_id"
179 - t.text "data", size: :medium
209 + t.text "data"
180 t.datetime "updated_at", precision: nil
210 t.datetime "updated_at", precision: nil
181 t.index ["session_id"], name: "index_sessions_on_session_id"
211 t.index ["session_id"], name: "index_sessions_on_session_id"
182 t.index ["updated_at"], name: "index_sessions_on_updated_at"
212 t.index ["updated_at"], name: "index_sessions_on_updated_at"
183 end
213 end
184
214
185 - create_table "sites", id: :integer, charset: "utf8", force: :cascade do |t|
215 + create_table "sites", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
186 t.string "name"
216 t.string "name"
187 t.boolean "started"
217 t.boolean "started"
188 t.datetime "start_time", precision: nil
218 t.datetime "start_time", precision: nil
@@ -192,23 +222,14
192 t.string "password"
222 t.string "password"
193 end
223 end
194
224
195 - create_table "solutions", charset: "latin1", force: :cascade do |t|
225 + create_table "submission_view_logs", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
196 - t.string "solution"
197 - t.bigint "problem_id"
198 - t.bigint "submission_id"
199 - t.integer "type"
200 - t.index ["problem_id"], name: "index_solutions_on_problem_id"
201 - t.index ["submission_id"], name: "index_solutions_on_submission_id"
202 - end
203 -
204 - create_table "submission_view_logs", id: :integer, charset: "latin1", force: :cascade do |t|
205 t.integer "user_id"
226 t.integer "user_id"
206 t.integer "submission_id"
227 t.integer "submission_id"
207 t.datetime "created_at", precision: nil, null: false
228 t.datetime "created_at", precision: nil, null: false
208 t.datetime "updated_at", precision: nil, null: false
229 t.datetime "updated_at", precision: nil, null: false
209 end
230 end
210
231
211 - create_table "submissions", id: :bigint, default: nil, charset: "utf8", force: :cascade do |t|
232 + create_table "submissions", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
212 t.integer "user_id"
233 t.integer "user_id"
213 t.integer "problem_id"
234 t.integer "problem_id"
214 t.integer "language_id"
235 t.integer "language_id"
@@ -216,10 +237,10
216 t.binary "binary"
237 t.binary "binary"
217 t.datetime "submitted_at", precision: nil
238 t.datetime "submitted_at", precision: nil
218 t.datetime "compiled_at", precision: nil
239 t.datetime "compiled_at", precision: nil
219 - t.text "compiler_message", size: :medium
240 + t.text "compiler_message"
220 t.datetime "graded_at", precision: nil
241 t.datetime "graded_at", precision: nil
221 t.integer "points"
242 t.integer "points"
222 - t.text "grader_comment", size: :medium
243 + t.text "grader_comment"
223 t.integer "number"
244 t.integer "number"
224 t.string "source_filename"
245 t.string "source_filename"
225 t.float "max_runtime"
246 t.float "max_runtime"
@@ -240,7 +261,7
240 t.datetime "updated_at", precision: nil, null: false
261 t.datetime "updated_at", precision: nil, null: false
241 end
262 end
242
263
243 - create_table "tasks", id: :integer, charset: "utf8", force: :cascade do |t|
264 + create_table "tasks", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
244 t.integer "submission_id"
265 t.integer "submission_id"
245 t.datetime "created_at", precision: nil
266 t.datetime "created_at", precision: nil
246 t.integer "status"
267 t.integer "status"
@@ -249,15 +270,15
249 t.index ["submission_id"], name: "index_tasks_on_submission_id"
270 t.index ["submission_id"], name: "index_tasks_on_submission_id"
250 end
271 end
251
272
252 - create_table "test_pairs", id: :integer, charset: "utf8", force: :cascade do |t|
273 + create_table "test_pairs", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
253 t.integer "problem_id"
274 t.integer "problem_id"
254 - t.text "input", size: :long
275 + t.text "input", size: :medium
255 - t.text "solution", size: :long
276 + t.text "solution", size: :medium
256 t.datetime "created_at", precision: nil, null: false
277 t.datetime "created_at", precision: nil, null: false
257 t.datetime "updated_at", precision: nil, null: false
278 t.datetime "updated_at", precision: nil, null: false
258 end
279 end
259
280
260 - create_table "test_requests", id: :integer, charset: "utf8", force: :cascade do |t|
281 + create_table "test_requests", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
261 t.integer "user_id"
282 t.integer "user_id"
262 t.integer "problem_id"
283 t.integer "problem_id"
263 t.integer "submission_id"
284 t.integer "submission_id"
@@ -268,7 +289,7
268 t.datetime "updated_at", precision: nil, null: false
289 t.datetime "updated_at", precision: nil, null: false
269 t.datetime "submitted_at", precision: nil
290 t.datetime "submitted_at", precision: nil
270 t.datetime "compiled_at", precision: nil
291 t.datetime "compiled_at", precision: nil
271 - t.text "compiler_message", size: :medium
292 + t.text "compiler_message"
272 t.datetime "graded_at", precision: nil
293 t.datetime "graded_at", precision: nil
273 t.string "grader_comment"
294 t.string "grader_comment"
274 t.datetime "created_at", precision: nil, null: false
295 t.datetime "created_at", precision: nil, null: false
@@ -285,12 +306,12
285 t.integer "score"
306 t.integer "score"
286 t.text "input", size: :long
307 t.text "input", size: :long
287 t.text "sol", size: :long
308 t.text "sol", size: :long
288 - t.datetime "created_at", precision: nil, null: false
309 + t.datetime "created_at", precision: nil
289 - t.datetime "updated_at", precision: nil, null: false
310 + t.datetime "updated_at", precision: nil
290 t.index ["problem_id"], name: "index_testcases_on_problem_id"
311 t.index ["problem_id"], name: "index_testcases_on_problem_id"
291 end
312 end
292
313
293 - create_table "user_contest_stats", id: :integer, charset: "utf8", force: :cascade do |t|
314 + create_table "user_contest_stats", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
294 t.integer "user_id"
315 t.integer "user_id"
295 t.datetime "started_at", precision: nil
316 t.datetime "started_at", precision: nil
296 t.datetime "created_at", precision: nil, null: false
317 t.datetime "created_at", precision: nil, null: false
@@ -298,7 +319,7
298 t.boolean "forced_logout"
319 t.boolean "forced_logout"
299 end
320 end
300
321
301 - create_table "users", id: :integer, charset: "utf8", force: :cascade do |t|
322 + create_table "users", id: :integer, charset: "utf8mb3", collation: "utf8mb3_unicode_ci", force: :cascade do |t|
302 t.string "login", limit: 50
323 t.string "login", limit: 50
303 t.string "full_name"
324 t.string "full_name"
304 t.string "hashed_password"
325 t.string "hashed_password"
@@ -310,16 +331,16
310 t.boolean "activated", default: false
331 t.boolean "activated", default: false
311 t.datetime "created_at", precision: nil
332 t.datetime "created_at", precision: nil
312 t.datetime "updated_at", precision: nil
333 t.datetime "updated_at", precision: nil
313 - t.string "section"
314 t.boolean "enabled", default: true
334 t.boolean "enabled", default: true
315 t.string "remark"
335 t.string "remark"
316 t.string "last_ip"
336 t.string "last_ip"
337 + t.string "section"
317 t.integer "default_language"
338 t.integer "default_language"
318 t.index ["login"], name: "index_users_on_login", unique: true
339 t.index ["login"], name: "index_users_on_login", unique: true
319 end
340 end
320
341
342 + add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id"
343 + add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id"
321 add_foreign_key "problems_tags", "problems"
344 add_foreign_key "problems_tags", "problems"
322 add_foreign_key "problems_tags", "tags"
345 add_foreign_key "problems_tags", "tags"
323 - add_foreign_key "solutions", "problems"
324 - add_foreign_key "solutions", "submissions"
325 end
346 end
This diff has been collapsed as it changes many lines, (985 lines changed) Show them Hide them
@@ -1,521 +1,714
1 !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
1 !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
2 !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
2 !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
3 - !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
3 + !_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
4 - !_TAG_PROGRAM_NAME Exuberant Ctags //
4 + !_TAG_OUTPUT_FILESEP slash /slash or backslash/
5 - !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
5 + !_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
6 - !_TAG_PROGRAM_VERSION 5.8 //
6 + !_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
7 - ActiveSupport test/test_helper.rb /^class ActiveSupport::TestCase$/;" c
7 + !_TAG_PROC_CWD /home/dae/cafe_grader/web/ //
8 - AddActivatedToUsers db/migrate/20081204122651_add_activated_to_users.rb /^class AddActivatedToUsers < ActiveRecord::Migration$/;" c
8 + !_TAG_PROGRAM_AUTHOR Universal Ctags Team //
9 - AddBodyToProblems db/migrate/026_add_body_to_problems.rb /^class AddBodyToProblems < ActiveRecord::Migration$/;" c
9 + !_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
10 - AddCommonExtToLanguages db/migrate/20090416235658_add_common_ext_to_languages.rb /^class AddCommonExtToLanguages < ActiveRecord::Migration$/;" c
10 + !_TAG_PROGRAM_URL https://ctags.io/ /official site/
11 - AddContestFlagToAnnouncements db/migrate/20090206145016_add_contest_flag_to_announcements.rb /^class AddContestFlagToAnnouncements < ActiveRecord::Migration$/;" c
11 + !_TAG_PROGRAM_VERSION 5.9.0 /35b9c9ac/
12 - AddCountryToSitesAndUsers db/migrate/035_add_country_to_sites_and_users.rb /^class AddCountryToSitesAndUsers < ActiveRecord::Migration$/;" c
12 + ALLOW_TEST_PAIR_IMPORT config/initializers/cafe_grader_config.rb /^ALLOW_TEST_PAIR_IMPORT = false$/;" C
13 - AddDescriptionFilenameToProblems db/migrate/20100219014840_add_description_filename_to_problems.rb /^class AddDescriptionFilenameToProblems < ActiveRecord::Migration$/;" c
13 + APP_PATH bin/rails /^APP_PATH = File.expand_path("..\/config\/application", __dir__)$/;" C
14 - AddDescriptionToConfig db/migrate/20100124040107_add_description_to_config.rb /^class AddDescriptionToConfig < ActiveRecord::Migration$/;" c
14 + APP_ROOT bin/setup /^APP_ROOT = File.expand_path("..", __dir__)$/;" C
15 - AddEmailToUsers db/migrate/012_add_email_to_users.rb /^class AddEmailToUsers < ActiveRecord::Migration$/;" c
15 + APP_ROOT bin/update /^APP_ROOT = File.expand_path('..', __dir__)$/;" C
16 - AddForcedLogoutToUserContestStat db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb /^class AddForcedLogoutToUserContestStat < ActiveRecord::Migration$/;" c
16 + APP_ROOT bin/yarn /^APP_ROOT = File.expand_path('..', __dir__)$/;" C
17 - AddFrontpageFlagToAnnouncement db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb /^class AddFrontpageFlagToAnnouncement < ActiveRecord::Migration$/;" c
17 + AddActivatedToUsers db/migrate/20081204122651_add_activated_to_users.rb /^class AddActivatedToUsers < ActiveRecord::Migration[4.2]$/;" c
18 - AddIndexToSubmissions db/migrate/005_add_index_to_submissions.rb /^class AddIndexToSubmissions < ActiveRecord::Migration$/;" c
18 + AddBodyToProblems db/migrate/026_add_body_to_problems.rb /^class AddBodyToProblems < ActiveRecord::Migration[4.2]$/;" c
19 - AddIpToSubmissions db/migrate/20140917150629_add_ip_to_submissions.rb /^class AddIpToSubmissions < ActiveRecord::Migration$/;" c
19 + AddCommonExtToLanguages db/migrate/20090416235658_add_common_ext_to_languages.rb /^class AddCommonExtToLanguages < ActiveRecord::Migration[4.2]$/;" c
20 - AddLanguageExt db/migrate/011_add_language_ext.rb /^class AddLanguageExt < ActiveRecord::Migration$/;" c
20 + AddConfigViewTest db/migrate/20161031063337_add_config_view_test.rb /^class AddConfigViewTest < ActiveRecord::Migration[4.2]$/;" c
21 - AddMoreDetailToSubmission db/migrate/20140823031747_add_more_detail_to_submission.rb /^class AddMoreDetailToSubmission < ActiveRecord::Migration$/;" c
21 + AddContestFlagToAnnouncements db/migrate/20090206145016_add_contest_flag_to_announcements.rb /^class AddContestFlagToAnnouncements < ActiveRecord::Migration[4.2]$/;" c
22 - AddNameToContests db/migrate/20100303095700_add_name_to_contests.rb /^class AddNameToContests < ActiveRecord::Migration$/;" c
22 + AddCountryToSitesAndUsers db/migrate/035_add_country_to_sites_and_users.rb /^class AddCountryToSitesAndUsers < ActiveRecord::Migration[4.2]$/;" c
23 - AddNotesToAnnouncements db/migrate/20100506163112_add_notes_to_announcements.rb /^class AddNotesToAnnouncements < ActiveRecord::Migration$/;" c
23 + AddDefaultLanguageToUser db/migrate/20210130121812_add_default_language_to_user.rb /^class AddDefaultLanguageToUser < ActiveRecord::Migration[5.2]$/;" c
24 - AddNumberToSubmissions db/migrate/018_add_number_to_submissions.rb /^class AddNumberToSubmissions < ActiveRecord::Migration$/;" c
24 + AddDescriptionFilenameToProblems db/migrate/20100219014840_add_description_filename_to_problems.rb /^class AddDescriptionFilenameToProblems < ActiveRecord::Migration[4.2]$/;" c
25 - AddRunstatColumnsToTestRequest db/migrate/023_add_runstat_columns_to_test_request.rb /^class AddRunstatColumnsToTestRequest < ActiveRecord::Migration$/;" c
25 + AddDescriptionToConfig db/migrate/20100124040107_add_description_to_config.rb /^class AddDescriptionToConfig < ActiveRecord::Migration[4.2]$/;" c
26 - AddSessions db/migrate/009_add_sessions.rb /^class AddSessions < ActiveRecord::Migration$/;" c
26 + AddEmailToUsers db/migrate/012_add_email_to_users.rb /^class AddEmailToUsers < ActiveRecord::Migration[4.2]$/;" c
27 - AddSiteToUserAndAddDefaultSite db/migrate/025_add_site_to_user_and_add_default_site.rb /^class AddSiteToUserAndAddDefaultSite < ActiveRecord::Migration$/;" c
27 + AddEnabledToGroup db/migrate/20200813083020_add_enabled_to_group.rb /^class AddEnabledToGroup < ActiveRecord::Migration[5.2]$/;" c
28 - AddStatusToTasks db/migrate/015_add_status_to_tasks.rb /^class AddStatusToTasks < ActiveRecord::Migration$/;" c
28 + AddForcedLogoutToUserContestStat db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb /^class AddForcedLogoutToUserContestStat < ActiveRecord::Migration[4.2]$/;" c
29 - AddSupportsForOutputOnlyProblems db/migrate/031_add_supports_for_output_only_problems.rb /^class AddSupportsForOutputOnlyProblems < ActiveRecord::Migration$/;" c
29 + AddFrontpageFlagToAnnouncement db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb /^class AddFrontpageFlagToAnnouncement < ActiveRecord::Migration[4.2]$/;" c
30 - AddTaskToGraderProcess db/migrate/016_add_task_to_grader_process.rb /^class AddTaskToGraderProcess < ActiveRecord::Migration$/;" c
30 + AddHeartBeatFull db/migrate/20170427070345_add_heart_beat_full.rb /^class AddHeartBeatFull < ActiveRecord::Migration[4.2]$/;" c
31 - AddTaskTypeToGraderProcesses db/migrate/033_add_task_type_to_grader_processes.rb /^class AddTaskTypeToGraderProcesses < ActiveRecord::Migration$/;" c
31 + AddIdToGroupUser db/migrate/20200404142959_add_id_to_group_user.rb /^class AddIdToGroupUser < ActiveRecord::Migration[5.2]$/;" c
32 - AddTerminatedToGraderProcesses db/migrate/20090426131044_add_terminated_to_grader_processes.rb /^class AddTerminatedToGraderProcesses < ActiveRecord::Migration$/;" c
32 + AddIndexToLogin db/migrate/20200405112919_add_index_to_login.rb /^class AddIndexToLogin < ActiveRecord::Migration[5.2]$/;" c
33 - AddTestAllowedToProblems db/migrate/029_add_test_allowed_to_problems.rb /^class AddTestAllowedToProblems < ActiveRecord::Migration$/;" c
33 + AddIndexToSubmission db/migrate/20200404135714_add_index_to_submission.rb /^class AddIndexToSubmission < ActiveRecord::Migration[5.2]$/;" c
34 - AddTimestampsToUsers db/migrate/20081210021333_add_timestamps_to_users.rb /^class AddTimestampsToUsers < ActiveRecord::Migration$/;" c
34 + AddIndexToSubmissions db/migrate/005_add_index_to_submissions.rb /^class AddIndexToSubmissions < ActiveRecord::Migration[4.2]$/;" c
35 - AddTitleToAnnouncements db/migrate/20090815171610_add_title_to_announcements.rb /^class AddTitleToAnnouncements < ActiveRecord::Migration$/;" c
35 + AddIndexToTask db/migrate/20170310110146_add_index_to_task.rb /^class AddIndexToTask < ActiveRecord::Migration[4.2]$/;" c
36 - AddUrlToProblem db/migrate/013_add_url_to_problem.rb /^class AddUrlToProblem < ActiveRecord::Migration$/;" c
36 + AddIndexToTaskStatus db/migrate/20210809105935_add_index_to_task_status.rb /^class AddIndexToTaskStatus < ActiveRecord::Migration[5.2]$/;" c
37 + AddIpToSubmissions db/migrate/20140917150629_add_ip_to_submissions.rb /^class AddIpToSubmissions < ActiveRecord::Migration[4.2]$/;" c
38 + AddLanguageExt db/migrate/011_add_language_ext.rb /^class AddLanguageExt < ActiveRecord::Migration[4.2]$/;" c
39 + AddLastIpToUser db/migrate/20150827133841_add_last_ip_to_user.rb /^class AddLastIpToUser < ActiveRecord::Migration[4.2]$/;" c
40 + AddMoreConfig db/migrate/20150914223258_add_more_config.rb /^class AddMoreConfig < ActiveRecord::Migration[4.2]$/;" c
41 + AddMoreDetailToSubmission db/migrate/20140823031747_add_more_detail_to_submission.rb /^class AddMoreDetailToSubmission < ActiveRecord::Migration[4.2]$/;" c
42 + AddMoreToUsers db/migrate/20150203153534_add_more_to_users.rb /^class AddMoreToUsers < ActiveRecord::Migration[4.2]$/;" c
43 + AddNameToContests db/migrate/20100303095700_add_name_to_contests.rb /^class AddNameToContests < ActiveRecord::Migration[4.2]$/;" c
44 + AddNotesToAnnouncements db/migrate/20100506163112_add_notes_to_announcements.rb /^class AddNotesToAnnouncements < ActiveRecord::Migration[4.2]$/;" c
45 + AddNumberToSubmissions db/migrate/018_add_number_to_submissions.rb /^class AddNumberToSubmissions < ActiveRecord::Migration[4.2]$/;" c
46 + AddOnNavBarToAnnouncement db/migrate/20210124101028_add_on_nav_bar_to_announcement.rb /^class AddOnNavBarToAnnouncement < ActiveRecord::Migration[5.2]$/;" c
47 + AddRunstatColumnsToTestRequest db/migrate/023_add_runstat_columns_to_test_request.rb /^class AddRunstatColumnsToTestRequest < ActiveRecord::Migration[4.2]$/;" c
48 + AddSectionToUsers db/migrate/20140913060729_add_section_to_users.rb /^class AddSectionToUsers < ActiveRecord::Migration[4.2]$/;" c
49 + AddSessions db/migrate/009_add_sessions.rb /^class AddSessions < ActiveRecord::Migration[4.2]$/;" c
50 + AddSiteToUserAndAddDefaultSite db/migrate/025_add_site_to_user_and_add_default_site.rb /^class AddSiteToUserAndAddDefaultSite < ActiveRecord::Migration[4.2]$/;" c
51 + AddStatusToHeartBeat db/migrate/20150914155101_add_status_to_heart_beat.rb /^class AddStatusToHeartBeat < ActiveRecord::Migration[4.2]$/;" c
52 + AddStatusToTasks db/migrate/015_add_status_to_tasks.rb /^class AddStatusToTasks < ActiveRecord::Migration[4.2]$/;" c
53 + AddSupportsForOutputOnlyProblems db/migrate/031_add_supports_for_output_only_problems.rb /^class AddSupportsForOutputOnlyProblems < ActiveRecord::Migration[4.2]$/;" c
54 + AddTaskToGraderProcess db/migrate/016_add_task_to_grader_process.rb /^class AddTaskToGraderProcess < ActiveRecord::Migration[4.2]$/;" c
55 + AddTaskTypeToGraderProcesses db/migrate/033_add_task_type_to_grader_processes.rb /^class AddTaskTypeToGraderProcesses < ActiveRecord::Migration[4.2]$/;" c
56 + AddTerminatedToGraderProcesses db/migrate/20090426131044_add_terminated_to_grader_processes.rb /^class AddTerminatedToGraderProcesses < ActiveRecord::Migration[4.2]$/;" c
57 + AddTestAllowedToProblems db/migrate/029_add_test_allowed_to_problems.rb /^class AddTestAllowedToProblems < ActiveRecord::Migration[4.2]$/;" c
58 + AddTimestampsToUsers db/migrate/20081210021333_add_timestamps_to_users.rb /^class AddTimestampsToUsers < ActiveRecord::Migration[4.2]$/;" c
59 + AddTitleToAnnouncements db/migrate/20090815171610_add_title_to_announcements.rb /^class AddTitleToAnnouncements < ActiveRecord::Migration[4.2]$/;" c
60 + AddTypeToSubmission db/migrate/20220204080936_add_type_to_submission.rb /^class AddTypeToSubmission < ActiveRecord::Migration[7.0]$/;" c
61 + AddUrlToProblem db/migrate/013_add_url_to_problem.rb /^class AddUrlToProblem < ActiveRecord::Migration[4.2]$/;" c
62 + AddViewTestcaseToProblem db/migrate/20170124024527_add_view_testcase_to_problem.rb /^class AddViewTestcaseToProblem < ActiveRecord::Migration[4.2]$/;" c
63 + AdminTaskTest test/integration/admin_task_test.rb /^class AdminTaskTest < ActionDispatch::IntegrationTest$/;" c
37 Announcement app/models/announcement.rb /^class Announcement < ActiveRecord::Base$/;" c
64 Announcement app/models/announcement.rb /^class Announcement < ActiveRecord::Base$/;" c
38 - AnnouncementTest test/unit/announcement_test.rb /^class AnnouncementTest < ActiveSupport::TestCase$/;" c
39 AnnouncementsController app/controllers/announcements_controller.rb /^class AnnouncementsController < ApplicationController$/;" c
65 AnnouncementsController app/controllers/announcements_controller.rb /^class AnnouncementsController < ApplicationController$/;" c
66 + AnnouncementsControllerTest test/controllers/announcements_controller_test.rb /^class AnnouncementsControllerTest < ActionController::TestCase$/;" c
40 AnnouncementsHelper app/helpers/announcements_helper.rb /^module AnnouncementsHelper$/;" m
67 AnnouncementsHelper app/helpers/announcements_helper.rb /^module AnnouncementsHelper$/;" m
41 - Application config/application.rb /^ class Application < Rails::Application$/;" c class:CafeGrader
68 + AnnouncementsTest test/system/announcements_test.rb /^class AnnouncementsTest < ApplicationSystemTestCase$/;" c
69 + Application config/application.rb /^ class Application < Rails::Application$/;" c module:CafeGrader
42 ApplicationController app/controllers/application_controller.rb /^class ApplicationController < ActionController::Base$/;" c
70 ApplicationController app/controllers/application_controller.rb /^class ApplicationController < ActionController::Base$/;" c
43 ApplicationHelper app/helpers/application_helper.rb /^module ApplicationHelper$/;" m
71 ApplicationHelper app/helpers/application_helper.rb /^module ApplicationHelper$/;" m
44 - BrowsingTest test/performance/browsing_test.rb /^class BrowsingTest < ActionDispatch::PerformanceTest$/;" c
72 + ApplicationRecord app/models/application_record.rb /^class ApplicationRecord < ActiveRecord::Base$/;" c
73 + ApplicationSystemTestCase test/application_system_test_case.rb /^class ApplicationSystemTestCase < ActionDispatch::SystemTestCase$/;" c
74 + BOOTSTRAP_FLASH_MSG app/helpers/application_helper.rb /^ BOOTSTRAP_FLASH_MSG = {$/;" C module:ApplicationHelper
75 + CONFIGURATIONS db/seeds.rb /^CONFIGURATIONS = $/;" C
76 + CONTEST_TIME_LIMIT_KEY app/models/grader_configuration.rb /^ CONTEST_TIME_LIMIT_KEY = 'contest.time_limit'$/;" C class:GraderConfiguration
45 CafeGrader config/application.rb /^module CafeGrader$/;" m
77 CafeGrader config/application.rb /^module CafeGrader$/;" m
46 - ChangeCompilerMessageTypeTestRequest db/migrate/021_change_compiler_message_type_test_request.rb /^class ChangeCompilerMessageTypeTestRequest < ActiveRecord::Migration$/;" c
78 + ChangeCompilerMessageTypeTestRequest db/migrate/021_change_compiler_message_type_test_request.rb /^class ChangeCompilerMessageTypeTestRequest < ActiveRecord::Migration[4.2]$/;" c
47 - ChangeInputSolutionFieldLimitInTestPair db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb /^class ChangeInputSolutionFieldLimitInTestPair < ActiveRecord::Migration$/;" c
79 + ChangeInputSolutionFieldLimitInTestPair db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb /^class ChangeInputSolutionFieldLimitInTestPair < ActiveRecord::Migration[4.2]$/;" c
48 - ChangeUserLoginStringLimit db/migrate/20081215012843_change_user_login_string_limit.rb /^class ChangeUserLoginStringLimit < ActiveRecord::Migration$/;" c
80 + ChangeSubmissionSourceSize db/migrate/20180612102327_change_submission_source_size.rb /^class ChangeSubmissionSourceSize < ActiveRecord::Migration[4.2]$/;" c
49 - ConfigSpecHelperMethods spec/config_spec_helper.rb /^module ConfigSpecHelperMethods$/;" m
81 + ChangeTestcaseSize db/migrate/20170123162543_change_testcase_size.rb /^class ChangeTestcaseSize < ActiveRecord::Migration[4.2]$/;" c
50 - ConfigurationTest test/unit/configuration_test.rb /^class ConfigurationTest < ActiveSupport::TestCase$/;" c
82 + ChangeUserLoginStringLimit db/migrate/20081215012843_change_user_login_string_limit.rb /^class ChangeUserLoginStringLimit < ActiveRecord::Migration[4.2]$/;" c
83 + ChangeUseridOnLogin db/migrate/20150503164846_change_userid_on_login.rb /^class ChangeUseridOnLogin < ActiveRecord::Migration[4.2]$/;" c
51 ConfigurationsController app/controllers/configurations_controller.rb /^class ConfigurationsController < ApplicationController$/;" c
84 ConfigurationsController app/controllers/configurations_controller.rb /^class ConfigurationsController < ApplicationController$/;" c
52 ConfigurationsHelper app/helpers/configurations_helper.rb /^module ConfigurationsHelper$/;" m
85 ConfigurationsHelper app/helpers/configurations_helper.rb /^module ConfigurationsHelper$/;" m
53 Contest app/models/contest.rb /^class Contest < ActiveRecord::Base$/;" c
86 Contest app/models/contest.rb /^class Contest < ActiveRecord::Base$/;" c
54 ContestManagementController app/controllers/contest_management_controller.rb /^class ContestManagementController < ApplicationController$/;" c
87 ContestManagementController app/controllers/contest_management_controller.rb /^class ContestManagementController < ApplicationController$/;" c
55 ContestManagementHelper app/helpers/contest_management_helper.rb /^module ContestManagementHelper$/;" m
88 ContestManagementHelper app/helpers/contest_management_helper.rb /^module ContestManagementHelper$/;" m
56 - ContestManagementHelperTest test/unit/helpers/contest_management_helper_test.rb /^class ContestManagementHelperTest < ActionView::TestCase$/;" c
57 - ContestManagementSessionMethods spec/integration/contest_managements_spec.rb /^ module ContestManagementSessionMethods$/;" m
58 - ContestTest test/unit/contest_test.rb /^class ContestTest < ActiveSupport::TestCase$/;" c
59 ContestsController app/controllers/contests_controller.rb /^class ContestsController < ApplicationController$/;" c
89 ContestsController app/controllers/contests_controller.rb /^class ContestsController < ApplicationController$/;" c
60 ContestsHelper app/helpers/contests_helper.rb /^module ContestsHelper$/;" m
90 ContestsHelper app/helpers/contests_helper.rb /^module ContestsHelper$/;" m
61 - ContestsHelperTest test/unit/helpers/contests_helper_test.rb /^class ContestsHelperTest < ActionView::TestCase$/;" c
62 Country app/models/country.rb /^class Country < ActiveRecord::Base$/;" c
91 Country app/models/country.rb /^class Country < ActiveRecord::Base$/;" c
63 - CountryTest test/unit/country_test.rb /^class CountryTest < ActiveSupport::TestCase$/;" c
92 + CreateActiveStorageTables db/migrate/20220927070334_create_active_storage_tables.active_storage.rb /^class CreateActiveStorageTables < ActiveRecord::Migration[5.2]$/;" c
64 - CreateAnnouncements db/migrate/030_create_announcements.rb /^class CreateAnnouncements < ActiveRecord::Migration$/;" c
93 + CreateAnnouncements db/migrate/030_create_announcements.rb /^class CreateAnnouncements < ActiveRecord::Migration[4.2]$/;" c
65 - CreateConfigurations db/migrate/022_create_configurations.rb /^class CreateConfigurations < ActiveRecord::Migration$/;" c
94 + CreateConfigurations db/migrate/022_create_configurations.rb /^class CreateConfigurations < ActiveRecord::Migration[4.2]$/;" c
66 - CreateContests db/migrate/20100216105730_create_contests.rb /^class CreateContests < ActiveRecord::Migration$/;" c
95 + CreateContests db/migrate/20100216105730_create_contests.rb /^class CreateContests < ActiveRecord::Migration[4.2]$/;" c
67 - CreateContestsProblemsJoinTable db/migrate/20100216162940_create_contests_problems_join_table.rb /^class CreateContestsProblemsJoinTable < ActiveRecord::Migration$/;" c
96 + CreateContestsProblemsJoinTable db/migrate/20100216162940_create_contests_problems_join_table.rb /^class CreateContestsProblemsJoinTable < ActiveRecord::Migration[4.2]$/;" c
68 - CreateContestsUsersJoinTable db/migrate/20100216162324_create_contests_users_join_table.rb /^class CreateContestsUsersJoinTable < ActiveRecord::Migration$/;" c
97 + CreateContestsUsersJoinTable db/migrate/20100216162324_create_contests_users_join_table.rb /^class CreateContestsUsersJoinTable < ActiveRecord::Migration[4.2]$/;" c
69 - CreateCountries db/migrate/034_create_countries.rb /^class CreateCountries < ActiveRecord::Migration$/;" c
98 + CreateCountries db/migrate/034_create_countries.rb /^class CreateCountries < ActiveRecord::Migration[4.2]$/;" c
70 - CreateDescriptions db/migrate/027_create_descriptions.rb /^class CreateDescriptions < ActiveRecord::Migration$/;" c
99 + CreateDescriptions db/migrate/027_create_descriptions.rb /^class CreateDescriptions < ActiveRecord::Migration[4.2]$/;" c
71 - CreateGraderProcesses db/migrate/014_create_grader_processes.rb /^class CreateGraderProcesses < ActiveRecord::Migration$/;" c
100 + CreateGraderProcesses db/migrate/014_create_grader_processes.rb /^class CreateGraderProcesses < ActiveRecord::Migration[4.2]$/;" c
72 - CreateLanguages db/migrate/004_create_languages.rb /^class CreateLanguages < ActiveRecord::Migration$/;" c
101 + CreateGroups db/migrate/20170911091143_create_groups.rb /^class CreateGroups < ActiveRecord::Migration[4.2]$/;" c
73 - CreateLogins db/migrate/20140826095949_create_logins.rb /^class CreateLogins < ActiveRecord::Migration$/;" c
102 + CreateHeartBeats db/migrate/20150914090545_create_heart_beats.rb /^class CreateHeartBeats < ActiveRecord::Migration[4.2]$/;" c
74 - CreateMessages db/migrate/032_create_messages.rb /^class CreateMessages < ActiveRecord::Migration$/;" c
103 + CreateLanguages db/migrate/004_create_languages.rb /^class CreateLanguages < ActiveRecord::Migration[4.2]$/;" c
75 - CreateProblems db/migrate/002_create_problems.rb /^class CreateProblems < ActiveRecord::Migration$/;" c
104 + CreateLogins db/migrate/20140826095949_create_logins.rb /^class CreateLogins < ActiveRecord::Migration[4.2]$/;" c
76 - CreateRights db/migrate/007_create_rights.rb /^class CreateRights < ActiveRecord::Migration$/;" c
105 + CreateMessages db/migrate/032_create_messages.rb /^class CreateMessages < ActiveRecord::Migration[4.2]$/;" c
77 - CreateRoles db/migrate/006_create_roles.rb /^class CreateRoles < ActiveRecord::Migration$/;" c
106 + CreateProblemTags db/migrate/20170914150742_create_problem_tags.rb /^class CreateProblemTags < ActiveRecord::Migration[4.2]$/;" c
78 - CreateSites db/migrate/024_create_sites.rb /^class CreateSites < ActiveRecord::Migration$/;" c
107 + CreateProblems db/migrate/002_create_problems.rb /^class CreateProblems < ActiveRecord::Migration[4.2]$/;" c
79 - CreateSubmissions db/migrate/003_create_submissions.rb /^class CreateSubmissions < ActiveRecord::Migration$/;" c
108 + CreateRights db/migrate/007_create_rights.rb /^class CreateRights < ActiveRecord::Migration[4.2]$/;" c
80 - CreateTasks db/migrate/008_create_tasks.rb /^class CreateTasks < ActiveRecord::Migration$/;" c
109 + CreateRoles db/migrate/006_create_roles.rb /^class CreateRoles < ActiveRecord::Migration[4.2]$/;" c
81 - CreateTestPairs db/migrate/20100113094740_create_test_pairs.rb /^class CreateTestPairs < ActiveRecord::Migration$/;" c
110 + CreateSites db/migrate/024_create_sites.rb /^class CreateSites < ActiveRecord::Migration[4.2]$/;" c
82 - CreateTestRequests db/migrate/019_create_test_requests.rb /^class CreateTestRequests < ActiveRecord::Migration$/;" c
111 + CreateSubmissionViewLogs db/migrate/20150827131927_create_submission_view_logs.rb /^class CreateSubmissionViewLogs < ActiveRecord::Migration[4.2]$/;" c
83 - CreateUserContestStats db/migrate/20100124054458_create_user_contest_stats.rb /^class CreateUserContestStats < ActiveRecord::Migration$/;" c
112 + CreateSubmissions db/migrate/003_create_submissions.rb /^class CreateSubmissions < ActiveRecord::Migration[4.2]$/;" c
84 - CreateUsers db/migrate/001_create_users.rb /^class CreateUsers < ActiveRecord::Migration$/;" c
113 + CreateTags db/migrate/20170914150545_create_tags.rb /^class CreateTags < ActiveRecord::Migration[4.2]$/;" c
114 + CreateTasks db/migrate/008_create_tasks.rb /^class CreateTasks < ActiveRecord::Migration[4.2]$/;" c
115 + CreateTestPairs db/migrate/20100113094740_create_test_pairs.rb /^class CreateTestPairs < ActiveRecord::Migration[4.2]$/;" c
116 + CreateTestRequests db/migrate/019_create_test_requests.rb /^class CreateTestRequests < ActiveRecord::Migration[4.2]$/;" c
117 + CreateTestcases db/migrate/20161014091417_create_testcases.rb /^class CreateTestcases < ActiveRecord::Migration[4.2]$/;" c
118 + CreateUserContestStats db/migrate/20100124054458_create_user_contest_stats.rb /^class CreateUserContestStats < ActiveRecord::Migration[4.2]$/;" c
119 + CreateUsers db/migrate/001_create_users.rb /^class CreateUsers < ActiveRecord::Migration[4.2]$/;" c
120 + DEFAULT_MEMORY_LIMIT app/models/problem.rb /^ DEFAULT_MEMORY_LIMIT = 32$/;" C class:Problem
121 + DEFAULT_TIME_LIMIT app/models/problem.rb /^ DEFAULT_TIME_LIMIT = 1$/;" C class:Problem
85 Description app/models/description.rb /^class Description < ActiveRecord::Base$/;" c
122 Description app/models/description.rb /^class Description < ActiveRecord::Base$/;" c
86 - DescriptionTest test/unit/description_test.rb /^class DescriptionTest < ActiveSupport::TestCase$/;" c
123 + GRADER_ROOT_DIR config/initializers/cafe_grader_config.rb /^GRADER_ROOT_DIR = ''$/;" C
124 + GRADER_ROOT_DIR config/initializers/cafe_grader_config.rb /^GRADER_ROOT_DIR = '\/home\/dae\/cafe_grader\/judge'$/;" C
125 + GRADING_RESULT_DIR config/initializers/cafe_grader_config.rb /^GRADING_RESULT_DIR = 'RESULT-DIR'$/;" C
126 + GRADING_RESULT_DIR config/initializers/cafe_grader_config.rb /^GRADING_RESULT_DIR = '\/home\/dae\/cafe_grader\/judge\/result'$/;" C
87 GraderConfiguration app/models/grader_configuration.rb /^class GraderConfiguration < ActiveRecord::Base$/;" c
127 GraderConfiguration app/models/grader_configuration.rb /^class GraderConfiguration < ActiveRecord::Base$/;" c
88 GraderProcess app/models/grader_process.rb /^class GraderProcess < ActiveRecord::Base$/;" c
128 GraderProcess app/models/grader_process.rb /^class GraderProcess < ActiveRecord::Base$/;" c
89 - GraderProcessTest test/unit/grader_process_test.rb /^class GraderProcessTest < ActiveSupport::TestCase$/;" c
90 GraderScript lib/grader_script.rb /^module GraderScript$/;" m
129 GraderScript lib/grader_script.rb /^module GraderScript$/;" m
91 GradersController app/controllers/graders_controller.rb /^class GradersController < ApplicationController$/;" c
130 GradersController app/controllers/graders_controller.rb /^class GradersController < ApplicationController$/;" c
92 GradersControllerTest test/functional/graders_controller_test.rb /^class GradersControllerTest < ActionController::TestCase$/;" c
131 GradersControllerTest test/functional/graders_controller_test.rb /^class GradersControllerTest < ActionController::TestCase$/;" c
93 GradersHelper app/helpers/graders_helper.rb /^module GradersHelper$/;" m
132 GradersHelper app/helpers/graders_helper.rb /^module GradersHelper$/;" m
133 + Group app/models/group.rb /^class Group < ActiveRecord::Base$/;" c
134 + GroupProblem app/models/group_problem.rb /^class GroupProblem < ActiveRecord::Base$/;" c
135 + GroupUser app/models/group_user.rb /^class GroupUser < ActiveRecord::Base$/;" c
136 + GroupsController app/controllers/groups_controller.rb /^class GroupsController < ApplicationController$/;" c
137 + GroupsControllerTest test/controllers/groups_controller_test.rb /^class GroupsControllerTest < ActionController::TestCase$/;" c
138 + GroupsHelper app/helpers/groups_helper.rb /^module GroupsHelper$/;" m
139 + HeartBeat app/models/heart_beat.rb /^class HeartBeat < ActiveRecord::Base$/;" c
140 + HeartbeatController app/controllers/heartbeat_controller.rb /^class HeartbeatController < ApplicationController$/;" c
94 Language app/models/language.rb /^class Language < ActiveRecord::Base$/;" c
141 Language app/models/language.rb /^class Language < ActiveRecord::Base$/;" c
95 - LanguageTest test/unit/language_test.rb /^class LanguageTest < Test::Unit::TestCase$/;" c
96 Login app/models/login.rb /^class Login < ActiveRecord::Base$/;" c
142 Login app/models/login.rb /^class Login < ActiveRecord::Base$/;" c
97 LoginController app/controllers/login_controller.rb /^class LoginController < ApplicationController$/;" c
143 LoginController app/controllers/login_controller.rb /^class LoginController < ApplicationController$/;" c
98 LoginController test/functional/login_controller_test.rb /^class LoginController; def rescue_action(e) raise e end; end$/;" c
144 LoginController test/functional/login_controller_test.rb /^class LoginController; def rescue_action(e) raise e end; end$/;" c
99 LoginControllerTest test/functional/login_controller_test.rb /^class LoginControllerTest < ActionController::TestCase$/;" c
145 LoginControllerTest test/functional/login_controller_test.rb /^class LoginControllerTest < ActionController::TestCase$/;" c
100 LoginHelper app/helpers/login_helper.rb /^module LoginHelper$/;" m
146 LoginHelper app/helpers/login_helper.rb /^module LoginHelper$/;" m
147 + LoginTest test/integration/login_test.rb /^class LoginTest < ActionDispatch::IntegrationTest$/;" c
148 + MULTICONTESTS_KEY app/models/grader_configuration.rb /^ MULTICONTESTS_KEY = 'system.multicontests'$/;" C class:GraderConfiguration
149 + MULTIPLE_IP_LOGIN_CONF_KEY app/controllers/application_controller.rb /^ MULTIPLE_IP_LOGIN_CONF_KEY = 'right.multiple_ip_login'$/;" C class:ApplicationController
150 + MULTIPLE_IP_LOGIN_KEY app/models/grader_configuration.rb /^ MULTIPLE_IP_LOGIN_KEY = 'right.multiple_ip_login'$/;" C class:GraderConfiguration
101 MailHelperMethods lib/mail_helper_methods.rb /^module MailHelperMethods$/;" m
151 MailHelperMethods lib/mail_helper_methods.rb /^module MailHelperMethods$/;" m
102 MainController app/controllers/main_controller.rb /^class MainController < ApplicationController$/;" c
152 MainController app/controllers/main_controller.rb /^class MainController < ApplicationController$/;" c
103 MainHelper app/helpers/main_helper.rb /^module MainHelper$/;" m
153 MainHelper app/helpers/main_helper.rb /^module MainHelper$/;" m
104 - MainSessionMethods spec/integration/contest_managements_spec.rb /^ module MainSessionMethods$/;" m
105 Message app/models/message.rb /^class Message < ActiveRecord::Base$/;" c
154 Message app/models/message.rb /^class Message < ActiveRecord::Base$/;" c
106 - MessageTest test/unit/message_test.rb /^class MessageTest < ActiveSupport::TestCase$/;" c
107 MessagesController app/controllers/messages_controller.rb /^class MessagesController < ApplicationController$/;" c
155 MessagesController app/controllers/messages_controller.rb /^class MessagesController < ApplicationController$/;" c
108 MessagesHelper app/helpers/messages_helper.rb /^module MessagesHelper$/;" m
156 MessagesHelper app/helpers/messages_helper.rb /^module MessagesHelper$/;" m
109 - Problem app/models/problem.rb /^class Problem < ActiveRecord::Base$/;" c
157 + ModifyGraderProcess db/migrate/20161008050135_modify_grader_process.rb /^class ModifyGraderProcess < ActiveRecord::Migration[4.2]$/;" c
110 - ProblemTest test/unit/problem_test.rb /^class ProblemTest < Test::Unit::TestCase$/;" c
158 + PROGRAMMING_AUTHEN_URL lib/programming_authenticator.rb /^ PROGRAMMING_AUTHEN_URL = "https:\/\/programming.in.th\/authen.php"$/;" C class:ProgrammingAuthenticator
159 + Problem app/models/problem.rb /^class Problem < ApplicationRecord$/;" c
160 + ProblemTag app/models/problem_tag.rb /^class ProblemTag < ActiveRecord::Base$/;" c
161 + ProblemTagTest test/models/problem_tag_test.rb /^class ProblemTagTest < ActiveSupport::TestCase$/;" c
111 ProblemsController app/controllers/problems_controller.rb /^class ProblemsController < ApplicationController$/;" c
162 ProblemsController app/controllers/problems_controller.rb /^class ProblemsController < ApplicationController$/;" c
112 ProblemsHelper app/helpers/problems_helper.rb /^module ProblemsHelper$/;" m
163 ProblemsHelper app/helpers/problems_helper.rb /^module ProblemsHelper$/;" m
113 - RailsSpecServer script/spec_server /^ class RailsSpecServer$/;" c class:Spec.Runner
164 + ProgrammingAuthenticator lib/programming_authenticator.rb /^class ProgrammingAuthenticator$/;" c
114 - RefactorProblemBodyToDescription db/migrate/028_refactor_problem_body_to_description.rb /^class RefactorProblemBodyToDescription < ActiveRecord::Migration$/;" c
165 + RefactorProblemBodyToDescription db/migrate/028_refactor_problem_body_to_description.rb /^class RefactorProblemBodyToDescription < ActiveRecord::Migration[4.2]$/;" c
115 - RenameConfigurationsToGraderConfigurations db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb /^class RenameConfigurationsToGraderConfigurations < ActiveRecord::Migration$/;" c
166 + RenameConfigurationsToGraderConfigurations db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb /^class RenameConfigurationsToGraderConfigurations < ActiveRecord::Migration[4.2]$/;" c
116 - RenameGraderProcessColumnIpToHost db/migrate/017_rename_grader_process_column_ip_to_host.rb /^class RenameGraderProcessColumnIpToHost < ActiveRecord::Migration$/;" c
167 + RenameGraderProcessColumnIpToHost db/migrate/017_rename_grader_process_column_ip_to_host.rb /^class RenameGraderProcessColumnIpToHost < ActiveRecord::Migration[4.2]$/;" c
117 ReportController app/controllers/report_controller.rb /^class ReportController < ApplicationController$/;" c
168 ReportController app/controllers/report_controller.rb /^class ReportController < ApplicationController$/;" c
118 ReportHelper app/helpers/report_helper.rb /^module ReportHelper$/;" m
169 ReportHelper app/helpers/report_helper.rb /^module ReportHelper$/;" m
119 Right app/models/right.rb /^class Right < ActiveRecord::Base$/;" c
170 Right app/models/right.rb /^class Right < ActiveRecord::Base$/;" c
120 - RightTest test/unit/right_test.rb /^class RightTest < Test::Unit::TestCase$/;" c
121 Role app/models/role.rb /^class Role < ActiveRecord::Base$/;" c
171 Role app/models/role.rb /^class Role < ActiveRecord::Base$/;" c
122 - RoleTest test/unit/role_test.rb /^class RoleTest < Test::Unit::TestCase$/;" c
172 + SINGLE_USER_KEY app/models/grader_configuration.rb /^ SINGLE_USER_KEY = 'system.single_user_mode'$/;" C class:GraderConfiguration
123 - Runner script/spec_server /^ module Runner$/;" m class:Spec
173 + SINGLE_USER_MODE_CONF_KEY app/controllers/application_controller.rb /^ SINGLE_USER_MODE_CONF_KEY = 'system.single_user_mode'$/;" C class:ApplicationController
174 + STATUS_COMPLETE app/models/task.rb /^ STATUS_COMPLETE = 2$/;" C class:Task
175 + STATUS_GRADING app/models/task.rb /^ STATUS_GRADING = 0$/;" C class:Task
176 + STATUS_INQUEUE app/models/task.rb /^ STATUS_INQUEUE = 1$/;" C class:Task
177 + SYSTEM_MODE_CONF_KEY app/models/grader_configuration.rb /^ SYSTEM_MODE_CONF_KEY = 'system.mode'$/;" C class:GraderConfiguration
178 + SYSTEM_USE_PROBLEM_GROUP app/models/grader_configuration.rb /^ SYSTEM_USE_PROBLEM_GROUP = 'system.use_problem_group'$/;" C class:GraderConfiguration
179 + SignInHelper test/test_helper.rb /^module SignInHelper$/;" m
124 Site app/models/site.rb /^class Site < ActiveRecord::Base$/;" c
180 Site app/models/site.rb /^class Site < ActiveRecord::Base$/;" c
125 SiteController app/controllers/site_controller.rb /^class SiteController < ApplicationController$/;" c
181 SiteController app/controllers/site_controller.rb /^class SiteController < ApplicationController$/;" c
126 SiteHelper app/helpers/site_helper.rb /^module SiteHelper$/;" m
182 SiteHelper app/helpers/site_helper.rb /^module SiteHelper$/;" m
127 - SiteTest test/unit/site_test.rb /^class SiteTest < ActiveSupport::TestCase$/;" c
128 SitesController app/controllers/sites_controller.rb /^class SitesController < ApplicationController$/;" c
183 SitesController app/controllers/sites_controller.rb /^class SitesController < ApplicationController$/;" c
129 SitesHelper app/helpers/sites_helper.rb /^module SitesHelper$/;" m
184 SitesHelper app/helpers/sites_helper.rb /^module SitesHelper$/;" m
130 SizeFilterHandler config/size_filter_handler.rb /^class SizeFilterHandler < Mongrel::HttpHandler$/;" c
185 SizeFilterHandler config/size_filter_handler.rb /^class SizeFilterHandler < Mongrel::HttpHandler$/;" c
131 - Spec script/spec_server /^module Spec$/;" m
186 + SourcesHelper app/helpers/sources_helper.rb /^module SourcesHelper$/;" m
132 - Submission app/models/submission.rb /^class Submission < ActiveRecord::Base$/;" c
187 + Submission app/models/submission.rb /^class Submission < ApplicationRecord$/;" c
133 - SubmissionTest test/unit/submission_test.rb /^class SubmissionTest < Test::Unit::TestCase$/;" c
188 + SubmissionViewLog app/models/submission_view_log.rb /^class SubmissionViewLog < ActiveRecord::Base$/;" c
189 + SubmissionsController app/controllers/submissions_controller.rb /^class SubmissionsController < ApplicationController$/;" c
190 + SubmissionsHelper app/helpers/submissions_helper.rb /^module SubmissionsHelper$/;" m
191 + SubmissionsTest test/system/submissions_test.rb /^class SubmissionsTest < ApplicationSystemTestCase$/;" c
192 + TASK_GRADING_INFO_FILENAME config/initializers/cafe_grader_config.rb /^TASK_GRADING_INFO_FILENAME = Rails.root + 'config\/tasks.yml'$/;" C
193 + TEMP_DIR test/load/runner.rb /^TEMP_DIR = '.\/tmp'$/;" C
194 + TEST_REQUEST_EARLY_TIMEOUT_KEY app/models/grader_configuration.rb /^ TEST_REQUEST_EARLY_TIMEOUT_KEY = 'contest.test_request.early_timeout'$/;" C class:GraderConfiguration
195 + TEST_REQUEST_INPUT_FILE_DIR config/initializers/cafe_grader_config.rb /^TEST_REQUEST_INPUT_FILE_DIR = (Rails.root + 'data\/test_request\/input').to_s$/;" C
196 + TEST_REQUEST_OUTPUT_FILE_DIR config/initializers/cafe_grader_config.rb /^TEST_REQUEST_OUTPUT_FILE_DIR = (Rails.root + 'data\/test_request\/output').to_s$/;" C
197 + Tag app/models/tag.rb /^class Tag < ApplicationRecord$/;" c
198 + TagTest test/models/tag_test.rb /^class TagTest < ActiveSupport::TestCase$/;" c
199 + TagsController app/controllers/tags_controller.rb /^class TagsController < ApplicationController$/;" c
200 + TagsControllerTest test/controllers/tags_controller_test.rb /^class TagsControllerTest < ActionController::TestCase$/;" c
201 + TagsHelper app/helpers/tags_helper.rb /^module TagsHelper$/;" m
134 Task app/models/task.rb /^class Task < ActiveRecord::Base$/;" c
202 Task app/models/task.rb /^class Task < ActiveRecord::Base$/;" c
135 - TaskTest test/unit/task_test.rb /^class TaskTest < Test::Unit::TestCase$/;" c
136 TasksController app/controllers/tasks_controller.rb /^class TasksController < ApplicationController$/;" c
203 TasksController app/controllers/tasks_controller.rb /^class TasksController < ApplicationController$/;" c
137 TasksHelper app/helpers/tasks_helper.rb /^module TasksHelper$/;" m
204 TasksHelper app/helpers/tasks_helper.rb /^module TasksHelper$/;" m
205 + TestCase test/test_helper.rb /^class ActiveSupport::TestCase$/;" c module:ActiveSupport mixin:include:SignInHelper
138 TestController app/controllers/test_controller.rb /^class TestController < ApplicationController$/;" c
206 TestController app/controllers/test_controller.rb /^class TestController < ApplicationController$/;" c
139 TestHelper app/helpers/test_helper.rb /^module TestHelper$/;" m
207 TestHelper app/helpers/test_helper.rb /^module TestHelper$/;" m
140 TestPair app/models/test_pair.rb /^class TestPair < ActiveRecord::Base$/;" c
208 TestPair app/models/test_pair.rb /^class TestPair < ActiveRecord::Base$/;" c
141 - TestPairTest test/unit/test_pair_test.rb /^class TestPairTest < ActiveSupport::TestCase$/;" c
142 TestRequest app/models/test_request.rb /^class TestRequest < Task$/;" c
209 TestRequest app/models/test_request.rb /^class TestRequest < Task$/;" c
143 - TestRequestTest test/unit/test_request_test.rb /^class TestRequestTest < ActiveSupport::TestCase$/;" c
210 + Testcase app/models/testcase.rb /^class Testcase < ActiveRecord::Base$/;" c
211 + TestcasesController app/controllers/testcases_controller.rb /^class TestcasesController < ApplicationController$/;" c
212 + TestcasesControllerTest test/controllers/testcases_controller_test.rb /^class TestcasesControllerTest < ActionController::TestCase$/;" c
213 + TestcasesHelper app/helpers/testcases_helper.rb /^module TestcasesHelper$/;" m
144 TestdataImporter lib/testdata_importer.rb /^class TestdataImporter$/;" c
214 TestdataImporter lib/testdata_importer.rb /^class TestdataImporter$/;" c
145 - UNUSED_test_get_inqueue_concurrent test/unit/task_test.rb /^ def UNUSED_test_get_inqueue_concurrent$/;" f class:TaskTest
215 + UpdateHeartBeat db/migrate/20150916054105_update_heart_beat.rb /^class UpdateHeartBeat < ActiveRecord::Migration[4.2]$/;" c
146 User app/models/user.rb /^class User < ActiveRecord::Base$/;" c
216 User app/models/user.rb /^class User < ActiveRecord::Base$/;" c
147 - User spec/models/user_spec.rb /^ class User$/;" c
217 + UserAdminController app/controllers/user_admin_controller.rb /^class UserAdminController < ApplicationController$/;" c mixin:include:MailHelperMethods
148 - UserAdminController app/controllers/user_admin_controller.rb /^class UserAdminController < ApplicationController$/;" c
149 UserAdminController test/functional/user_admin_controller_test.rb /^class UserAdminController; def rescue_action(e) raise e end; end$/;" c
218 UserAdminController test/functional/user_admin_controller_test.rb /^class UserAdminController; def rescue_action(e) raise e end; end$/;" c
150 UserAdminControllerTest test/functional/user_admin_controller_test.rb /^class UserAdminControllerTest < ActionController::TestCase$/;" c
219 UserAdminControllerTest test/functional/user_admin_controller_test.rb /^class UserAdminControllerTest < ActionController::TestCase$/;" c
151 UserAdminHelper app/helpers/user_admin_helper.rb /^module UserAdminHelper$/;" m
220 UserAdminHelper app/helpers/user_admin_helper.rb /^module UserAdminHelper$/;" m
152 UserContestStat app/models/user_contest_stat.rb /^class UserContestStat < ActiveRecord::Base$/;" c
221 UserContestStat app/models/user_contest_stat.rb /^class UserContestStat < ActiveRecord::Base$/;" c
153 - UserContestStatTest test/unit/user_contest_stat_test.rb /^class UserContestStatTest < ActiveSupport::TestCase$/;" c
222 + UsersController app/controllers/users_controller.rb /^class UsersController < ApplicationController$/;" c mixin:include:MailHelperMethods
154 - UserTest test/unit/user_test.rb /^class UserTest < Test::Unit::TestCase$/;" c
155 - UsersController app/controllers/users_controller.rb /^class UsersController < ApplicationController$/;" c
156 UsersHelper app/helpers/users_helper.rb /^module UsersHelper$/;" m
223 UsersHelper app/helpers/users_helper.rb /^module UsersHelper$/;" m
224 + UsersTest test/system/users_test.rb /^class UsersTest < ApplicationSystemTestCase$/;" c
225 + VIEW_TESTCASE app/models/grader_configuration.rb /^ VIEW_TESTCASE = 'right.view_testcase'$/;" C class:GraderConfiguration
226 + VISITOR_OPTION_LIST test/load/common_visitors.rb /^ VISITOR_OPTION_LIST = {}$/;" C
227 + VISITOR_OPTION_LIST test/load/runner.rb /^VISITOR_OPTION_LIST = visitor_option_list$/;" C
157 Visitor test/load/visitor_curl_cli.rb /^class Visitor$/;" c
228 Visitor test/load/visitor_curl_cli.rb /^class Visitor$/;" c
158 - [] app/models/grader_configuration.rb /^ def self.[](key)$/;" F class:GraderConfiguration
229 + WHITELIST_IGNORE_CONF_KEY app/controllers/application_controller.rb /^ WHITELIST_IGNORE_CONF_KEY = 'right.whitelist_ignore'$/;" C class:ApplicationController
230 + WHITELIST_IP_CONF_KEY app/controllers/application_controller.rb /^ WHITELIST_IP_CONF_KEY = 'right.whitelist_ip'$/;" C class:ApplicationController
231 + [] app/models/grader_configuration.rb /^ def self.[](key)$/;" S class:GraderConfiguration
232 + __anon51604b610100 test/load/visitor_curl_cli.rb /^ c = Class.new(Visitor)$/;" c method:visitor
159 activation_key app/models/user.rb /^ def activation_key$/;" f class:User
233 activation_key app/models/user.rb /^ def activation_key$/;" f class:User
160 active app/controllers/user_admin_controller.rb /^ def active$/;" f class:UserAdminController
234 active app/controllers/user_admin_controller.rb /^ def active$/;" f class:UserAdminController
235 + active_class_when app/helpers/application_helper.rb /^ def active_class_when(options = {},cname = @active_controller, aname = @active_action)$/;" f module:ApplicationHelper
236 + active_controller_action app/controllers/application_controller.rb /^ def active_controller_action$/;" f class:ApplicationController
237 + add_authenticator app/controllers/login_controller.rb /^ def self.add_authenticator(authenticator)$/;" S class:LoginController
238 + add_menu app/helpers/application_helper.rb /^ def add_menu(title, controller, action, html_option = {})$/;" f module:ApplicationHelper
239 + add_problem app/controllers/groups_controller.rb /^ def add_problem$/;" f class:GroupsController
161 add_replied_message app/models/message.rb /^ def add_replied_message(m)$/;" f class:Message
240 add_replied_message app/models/message.rb /^ def add_replied_message(m)$/;" f class:Message
162 - add_to_contest app/controllers/problems_controller.rb /^ def add_to_contest$/;" f
241 + add_to_contest app/controllers/problems_controller.rb /^ def add_to_contest$/;" f class:ProblemsController
163 - add_to_contest app/controllers/user_admin_controller.rb /^ def add_to_contest$/;" f
242 + add_to_contest app/controllers/user_admin_controller.rb /^ def add_to_contest$/;" f class:UserAdminController
164 - admin app/controllers/user_admin_controller.rb /^ def admin$/;" f
243 + add_user app/controllers/groups_controller.rb /^ def add_user$/;" f class:GroupsController
244 + add_users_skip_existing app/models/group.rb /^ def add_users_skip_existing(users_list)$/;" f class:Group
245 + admin app/controllers/user_admin_controller.rb /^ def admin$/;" f class:UserAdminController
165 admin? app/models/user.rb /^ def admin?$/;" f class:User
246 admin? app/models/user.rb /^ def admin?$/;" f class:User
166 admin_authorization app/controllers/application_controller.rb /^ def admin_authorization$/;" f class:ApplicationController
247 admin_authorization app/controllers/application_controller.rb /^ def admin_authorization$/;" f class:ApplicationController
167 - admin_change_users_contest_to spec/integration/contest_managements_spec.rb /^ def admin_change_users_contest_to(user_list, contest, reset_timer)$/;" f
168 alias_for_editing app/models/user.rb /^ def alias_for_editing$/;" f class:User
248 alias_for_editing app/models/user.rb /^ def alias_for_editing$/;" f class:User
169 alias_for_editing= app/models/user.rb /^ def alias_for_editing=(e)$/;" f class:User
249 alias_for_editing= app/models/user.rb /^ def alias_for_editing=(e)$/;" f class:User
170 - allow_test_pair_import? app/controllers/problems_controller.rb /^ def allow_test_pair_import?$/;" f
250 + allow_test_pair_import? app/controllers/problems_controller.rb /^ def allow_test_pair_import?$/;" f class:ProblemsController
171 - allow_test_request app/models/grader_configuration.rb /^ def self.allow_test_request(user)$/;" F class:GraderConfiguration
251 + allow_test_request app/models/grader_configuration.rb /^ def self.allow_test_request(user)$/;" S class:GraderConfiguration
172 - analysis_mode app/models/grader_configuration.rb /^ def self.analysis_mode?$/;" F class:GraderConfiguration
252 + analysis_mode? app/models/grader_configuration.rb /^ def self.analysis_mode?$/;" S class:GraderConfiguration
253 + announcement_params app/controllers/announcements_controller.rb /^ def announcement_params$/;" f class:AnnouncementsController
173 announcements app/controllers/main_controller.rb /^ def announcements$/;" f class:MainController
254 announcements app/controllers/main_controller.rb /^ def announcements$/;" f class:MainController
174 - append_to app/helpers/application_helper.rb /^ def append_to(option,label, controller, action)$/;" f class:ApplicationHelper
255 + append_to app/helpers/application_helper.rb /^ def append_to(option,label, controller, action)$/;" f module:ApplicationHelper
175 assign_default_contest app/models/user.rb /^ def assign_default_contest$/;" f class:User
256 assign_default_contest app/models/user.rb /^ def assign_default_contest$/;" f class:User
176 assign_default_site app/models/user.rb /^ def assign_default_site$/;" f class:User
257 assign_default_site app/models/user.rb /^ def assign_default_site$/;" f class:User
177 - assign_from_list app/controllers/user_admin_controller.rb /^ def assign_from_list$/;" f
258 + assign_from_list app/controllers/user_admin_controller.rb /^ def assign_from_list$/;" f class:UserAdminController
178 assign_language app/models/submission.rb /^ def assign_language$/;" f class:Submission
259 assign_language app/models/submission.rb /^ def assign_language$/;" f class:Submission
179 assign_latest_number_if_new_recond app/models/submission.rb /^ def assign_latest_number_if_new_recond$/;" f class:Submission
260 assign_latest_number_if_new_recond app/models/submission.rb /^ def assign_latest_number_if_new_recond$/;" f class:Submission
180 assign_problem app/models/submission.rb /^ def assign_problem$/;" f class:Submission
261 assign_problem app/models/submission.rb /^ def assign_problem$/;" f class:Submission
181 - authenticate app/controllers/application_controller.rb /^ def authenticate$/;" f class:ApplicationController
262 + authenticate app/models/user.rb /^ def self.authenticate(login, password)$/;" S class:User
182 - authenticate app/models/user.rb /^ def self.authenticate(login, password)$/;" F class:User
263 + authenticate lib/programming_authenticator.rb /^ def authenticate(login, password)$/;" f class:ProgrammingAuthenticator
264 + authenticate_by_ip_address app/controllers/application_controller.rb /^ def authenticate_by_ip_address$/;" f class:ApplicationController
183 authenticated? app/models/user.rb /^ def authenticated?(password)$/;" f class:User
265 authenticated? app/models/user.rb /^ def authenticated?(password)$/;" f class:User
184 - authenticated_by_cucas? app/models/user.rb /^ def authenticated_by_cucas?(password)$/;" f class:User
185 - authenticated_by_pop3? app/models/user.rb /^ def authenticated_by_pop3?(password)$/;" f class:User
186 authorization app/controllers/application_controller.rb /^ def authorization$/;" f class:ApplicationController
266 authorization app/controllers/application_controller.rb /^ def authorization$/;" f class:ApplicationController
187 authorization_by_roles app/controllers/application_controller.rb /^ def authorization_by_roles(allowed_roles)$/;" f class:ApplicationController
267 authorization_by_roles app/controllers/application_controller.rb /^ def authorization_by_roles(allowed_roles)$/;" f class:ApplicationController
268 + available_problems app/models/problem.rb /^ def self.available_problems$/;" S class:Problem
188 available_problems app/models/user.rb /^ def available_problems$/;" f class:User
269 available_problems app/models/user.rb /^ def available_problems$/;" f class:User
189 available_problems_group_by_contests app/models/user.rb /^ def available_problems_group_by_contests$/;" f class:User
270 available_problems_group_by_contests app/models/user.rb /^ def available_problems_group_by_contests$/;" f class:User
271 + available_problems_in_group app/models/user.rb /^ def available_problems_in_group$/;" f class:User
272 + base_url test/load/visitor_curl_cli.rb /^ attr_accessor :base_url$/;" A class:Visitor
273 + base_url= test/load/visitor_curl_cli.rb /^ attr_accessor :base_url$/;" A class:Visitor
274 + bootstrap_class_for app/helpers/application_helper.rb /^ def bootstrap_class_for(flash_type)$/;" f module:ApplicationHelper
190 build_replying_message_hierarchy app/controllers/messages_controller.rb /^ def build_replying_message_hierarchy(user)$/;" f class:MessagesController
275 build_replying_message_hierarchy app/controllers/messages_controller.rb /^ def build_replying_message_hierarchy(user)$/;" f class:MessagesController
191 - build_replying_message_hierarchy app/models/message.rb /^ def self.build_replying_message_hierarchy(*args)$/;" F class:Message
276 + build_replying_message_hierarchy app/models/message.rb /^ def self.build_replying_message_hierarchy(*args)$/;" S class:Message
192 - bulk_mail app/controllers/user_admin_controller.rb /^ def bulk_mail$/;" f
277 + bulk_mail app/controllers/user_admin_controller.rb /^ def bulk_mail$/;" f class:UserAdminController
193 - cache_ext_hash app/models/language.rb /^ def self.cache_ext_hash$/;" F class:Language
278 + bulk_manage app/controllers/user_admin_controller.rb /^ def bulk_manage$/;" f class:UserAdminController
194 - call_grader lib/grader_script.rb /^ def self.call_grader(params)$/;" F class:GraderScript
279 + cache_ext_hash app/models/language.rb /^ def self.cache_ext_hash$/;" S class:Language
195 - call_import_problem lib/grader_script.rb /^ def self.call_import_problem(problem_name, $/;" F class:GraderScript
280 + calculate_max_score app/controllers/report_controller.rb /^ def calculate_max_score(problems, users,since_id,until_id, get_last_score = false)$/;" f class:ReportController
281 + call_grader lib/grader_script.rb /^ def self.call_grader(params)$/;" S module:GraderScript
282 + call_import_problem lib/grader_script.rb /^ def self.call_import_problem(problem_name, $/;" S module:GraderScript
283 + call_import_testcase lib/grader_script.rb /^ def self.call_import_testcase(problem_name)$/;" S module:GraderScript
196 can_view_problem? app/models/user.rb /^ def can_view_problem?(problem)$/;" f class:User
284 can_view_problem? app/models/user.rb /^ def can_view_problem?(problem)$/;" f class:User
197 change db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb /^ def change$/;" f class:RenameConfigurationsToGraderConfigurations
285 change db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb /^ def change$/;" f class:RenameConfigurationsToGraderConfigurations
198 change db/migrate/20140823031747_add_more_detail_to_submission.rb /^ def change$/;" f class:AddMoreDetailToSubmission
286 change db/migrate/20140823031747_add_more_detail_to_submission.rb /^ def change$/;" f class:AddMoreDetailToSubmission
199 change db/migrate/20140826095949_create_logins.rb /^ def change$/;" f class:CreateLogins
287 change db/migrate/20140826095949_create_logins.rb /^ def change$/;" f class:CreateLogins
288 + change db/migrate/20140913060729_add_section_to_users.rb /^ def change$/;" f class:AddSectionToUsers
200 change db/migrate/20140917150629_add_ip_to_submissions.rb /^ def change$/;" f class:AddIpToSubmissions
289 change db/migrate/20140917150629_add_ip_to_submissions.rb /^ def change$/;" f class:AddIpToSubmissions
290 + change db/migrate/20150203153534_add_more_to_users.rb /^ def change$/;" f class:AddMoreToUsers
291 + change db/migrate/20150827131927_create_submission_view_logs.rb /^ def change$/;" f class:CreateSubmissionViewLogs
292 + change db/migrate/20150827133841_add_last_ip_to_user.rb /^ def change$/;" f class:AddLastIpToUser
293 + change db/migrate/20150914090545_create_heart_beats.rb /^ def change$/;" f class:CreateHeartBeats
294 + change db/migrate/20150914155101_add_status_to_heart_beat.rb /^ def change$/;" f class:AddStatusToHeartBeat
295 + change db/migrate/20161014091417_create_testcases.rb /^ def change$/;" f class:CreateTestcases
296 + change db/migrate/20170123162543_change_testcase_size.rb /^ def change$/;" f class:ChangeTestcaseSize
297 + change db/migrate/20170124024527_add_view_testcase_to_problem.rb /^ def change$/;" f class:AddViewTestcaseToProblem
298 + change db/migrate/20170310110146_add_index_to_task.rb /^ def change$/;" f class:AddIndexToTask
299 + change db/migrate/20170911091143_create_groups.rb /^ def change$/;" f class:CreateGroups
300 + change db/migrate/20170914150545_create_tags.rb /^ def change$/;" f class:CreateTags
301 + change db/migrate/20170914150742_create_problem_tags.rb /^ def change$/;" f class:CreateProblemTags
302 + change db/migrate/20180612102327_change_submission_source_size.rb /^ def change$/;" f class:ChangeSubmissionSourceSize
303 + change db/migrate/20200404135714_add_index_to_submission.rb /^ def change$/;" f class:AddIndexToSubmission
304 + change db/migrate/20200404142959_add_id_to_group_user.rb /^ def change$/;" f class:AddIdToGroupUser
305 + change db/migrate/20200405112919_add_index_to_login.rb /^ def change$/;" f class:AddIndexToLogin
306 + change db/migrate/20200813083020_add_enabled_to_group.rb /^ def change$/;" f class:AddEnabledToGroup
307 + change db/migrate/20210124101028_add_on_nav_bar_to_announcement.rb /^ def change$/;" f class:AddOnNavBarToAnnouncement
308 + change db/migrate/20210130121812_add_default_language_to_user.rb /^ def change$/;" f class:AddDefaultLanguageToUser
309 + change db/migrate/20210809105935_add_index_to_task_status.rb /^ def change$/;" f class:AddIndexToTaskStatus
310 + change db/migrate/20220204080936_add_type_to_submission.rb /^ def change$/;" f class:AddTypeToSubmission
311 + change db/migrate/20220927070334_create_active_storage_tables.active_storage.rb /^ def change$/;" f class:CreateActiveStorageTables
201 change_contest_mode app/controllers/contest_management_controller.rb /^ def change_contest_mode$/;" f class:ContestManagementController
312 change_contest_mode app/controllers/contest_management_controller.rb /^ def change_contest_mode$/;" f class:ContestManagementController
202 - change_date_added app/controllers/problems_controller.rb /^ def change_date_added$/;" f
313 + change_date_added app/controllers/problems_controller.rb /^ def change_date_added$/;" f class:ProblemsController
203 - change_users_contest_to spec/controllers/user_admin_controller_spec.rb /^ def change_users_contest_to(user_login_list, contest, reset_timer=false)$/;" f
314 + cheat_report app/controllers/report_controller.rb /^ def cheat_report$/;" f class:ReportController
204 - change_users_contest_to spec/integration/contest_managements_spec.rb /^ def change_users_contest_to(user_login_list, contest, reset_timer=false)$/;" f class:ContestManagementSessionMethods
315 + cheat_scrutinize app/controllers/report_controller.rb /^ def cheat_scrutinize$/;" f class:ReportController
316 + check_valid_login app/controllers/application_controller.rb /^ def check_valid_login$/;" f class:ApplicationController
205 check_viewability app/controllers/main_controller.rb /^ def check_viewability$/;" f class:MainController
317 check_viewability app/controllers/main_controller.rb /^ def check_viewability$/;" f class:MainController
206 check_viewability app/controllers/tasks_controller.rb /^ def check_viewability$/;" f class:TasksController
318 check_viewability app/controllers/tasks_controller.rb /^ def check_viewability$/;" f class:TasksController
207 check_viewability app/controllers/test_controller.rb /^ def check_viewability$/;" f class:TestController
319 check_viewability app/controllers/test_controller.rb /^ def check_viewability$/;" f class:TestController
320 + chg_default_language app/controllers/users_controller.rb /^ def chg_default_language$/;" f class:UsersController
208 chg_passwd app/controllers/users_controller.rb /^ def chg_passwd$/;" f class:UsersController
321 chg_passwd app/controllers/users_controller.rb /^ def chg_passwd$/;" f class:UsersController
209 - cleanup test/load/visitor_curl_cli.rb /^ def cleanup$/;" f
322 + cleanup test/load/visitor_curl_cli.rb /^ def cleanup$/;" f class:Visitor
210 clear app/controllers/graders_controller.rb /^ def clear$/;" f class:GradersController
323 clear app/controllers/graders_controller.rb /^ def clear$/;" f class:GradersController
211 - clear app/models/grader_configuration.rb /^ def self.clear$/;" F class:GraderConfiguration
324 + clear app/models/grader_configuration.rb /^ def self.clear$/;" S class:GraderConfiguration
212 clear_all app/controllers/graders_controller.rb /^ def clear_all$/;" f class:GradersController
325 clear_all app/controllers/graders_controller.rb /^ def clear_all$/;" f class:GradersController
213 clear_all_stat app/controllers/contest_management_controller.rb /^ def clear_all_stat$/;" f class:ContestManagementController
326 clear_all_stat app/controllers/contest_management_controller.rb /^ def clear_all_stat$/;" f class:ContestManagementController
214 clear_all_tasks test/concurrent/task_test_setup.rb /^def clear_all_tasks$/;" f
327 clear_all_tasks test/concurrent/task_test_setup.rb /^def clear_all_tasks$/;" f
215 clear_all_tasks test/concurrent/task_test_teardown.rb /^def clear_all_tasks$/;" f
328 clear_all_tasks test/concurrent/task_test_teardown.rb /^def clear_all_tasks$/;" f
216 - clear_reloadable_connections script/spec_server /^ def base.clear_reloadable_connections!$/;" F class:Spec.Runner.RailsSpecServer.run
329 + clear_last_ip app/controllers/user_admin_controller.rb /^ def clear_last_ip$/;" f class:UserAdminController
330 + clear_last_login app/models/user.rb /^ def self.clear_last_login$/;" S class:User
217 clear_start_time_if_not_started app/models/site.rb /^ def clear_start_time_if_not_started$/;" f class:Site
331 clear_start_time_if_not_started app/models/site.rb /^ def clear_start_time_if_not_started$/;" f class:Site
218 clear_stat app/controllers/contest_management_controller.rb /^ def clear_stat$/;" f class:ContestManagementController
332 clear_stat app/controllers/contest_management_controller.rb /^ def clear_stat$/;" f class:ContestManagementController
219 clear_terminated app/controllers/graders_controller.rb /^ def clear_terminated$/;" f class:GradersController
333 clear_terminated app/controllers/graders_controller.rb /^ def clear_terminated$/;" f class:GradersController
334 + commands test/load/visitor_curl_cli.rb /^ attr_accessor :commands$/;" A class:Visitor
335 + commands= test/load/visitor_curl_cli.rb /^ attr_accessor :commands$/;" A class:Visitor
220 compiler_msg app/controllers/main_controller.rb /^ def compiler_msg$/;" f class:MainController
336 compiler_msg app/controllers/main_controller.rb /^ def compiler_msg$/;" f class:MainController
221 - config_cached app/models/grader_configuration.rb /^ def self.config_cached?$/;" F class:GraderConfiguration
337 + compiler_msg app/controllers/submissions_controller.rb /^ def compiler_msg$/;" f class:SubmissionsController
338 + config_cached? app/models/grader_configuration.rb /^ def self.config_cached?$/;" S class:GraderConfiguration
339 + configuration_params app/controllers/configurations_controller.rb /^ def configuration_params$/;" f class:ConfigurationsController
222 confirm app/controllers/users_controller.rb /^ def confirm$/;" f class:UsersController
340 confirm app/controllers/users_controller.rb /^ def confirm$/;" f class:UsersController
223 confirm_and_update_start_time app/controllers/main_controller.rb /^ def confirm_and_update_start_time$/;" f class:MainController
341 confirm_and_update_start_time app/controllers/main_controller.rb /^ def confirm_and_update_start_time$/;" f class:MainController
224 confirm_contest_start app/controllers/main_controller.rb /^ def confirm_contest_start$/;" f class:MainController
342 confirm_contest_start app/controllers/main_controller.rb /^ def confirm_contest_start$/;" f class:MainController
225 console app/controllers/messages_controller.rb /^ def console$/;" f class:MessagesController
343 console app/controllers/messages_controller.rb /^ def console$/;" f class:MessagesController
226 contest_finished? app/models/user.rb /^ def contest_finished?$/;" f class:User
344 contest_finished? app/models/user.rb /^ def contest_finished?$/;" f class:User
227 - contest_management app/controllers/user_admin_controller.rb /^ def contest_management$/;" f
345 + contest_management app/controllers/user_admin_controller.rb /^ def contest_management$/;" f class:UserAdminController
228 - contest_mode app/models/grader_configuration.rb /^ def self.contest_mode?$/;" F class:GraderConfiguration
346 + contest_mode? app/models/grader_configuration.rb /^ def self.contest_mode?$/;" S class:GraderConfiguration
229 contest_started? app/models/user.rb /^ def contest_started?$/;" f class:User
347 contest_started? app/models/user.rb /^ def contest_started?$/;" f class:User
230 contest_time_left app/models/user.rb /^ def contest_time_left$/;" f class:User
348 contest_time_left app/models/user.rb /^ def contest_time_left$/;" f class:User
231 - contest_time_limit app/models/grader_configuration.rb /^ def self.contest_time_limit$/;" F class:GraderConfiguration
349 + contest_time_limit app/models/grader_configuration.rb /^ def self.contest_time_limit$/;" S class:GraderConfiguration
232 - contests app/controllers/user_admin_controller.rb /^ def contests$/;" f
350 + contests app/controllers/user_admin_controller.rb /^ def contests$/;" f class:UserAdminController
233 - convert_type app/models/grader_configuration.rb /^ def self.convert_type(val,type)$/;" F class:GraderConfiguration
351 + contests_params app/controllers/contests_controller.rb /^ def contests_params$/;" f class:ContestsController
352 + convert_type app/models/grader_configuration.rb /^ def self.convert_type(val,type)$/;" S class:GraderConfiguration
353 + cookies_stored test/load/visitor_curl_cli.rb /^ attr_accessor :cookies_stored$/;" A class:Visitor
354 + cookies_stored= test/load/visitor_curl_cli.rb /^ attr_accessor :cookies_stored$/;" A class:Visitor
234 create app/controllers/announcements_controller.rb /^ def create$/;" f class:AnnouncementsController
355 create app/controllers/announcements_controller.rb /^ def create$/;" f class:AnnouncementsController
235 create app/controllers/contests_controller.rb /^ def create$/;" f class:ContestsController
356 create app/controllers/contests_controller.rb /^ def create$/;" f class:ContestsController
357 + create app/controllers/groups_controller.rb /^ def create$/;" f class:GroupsController
236 create app/controllers/messages_controller.rb /^ def create$/;" f class:MessagesController
358 create app/controllers/messages_controller.rb /^ def create$/;" f class:MessagesController
237 create app/controllers/problems_controller.rb /^ def create$/;" f class:ProblemsController
359 create app/controllers/problems_controller.rb /^ def create$/;" f class:ProblemsController
238 create app/controllers/sites_controller.rb /^ def create$/;" f class:SitesController
360 create app/controllers/sites_controller.rb /^ def create$/;" f class:SitesController
361 + create app/controllers/tags_controller.rb /^ def create$/;" f class:TagsController
239 create app/controllers/user_admin_controller.rb /^ def create$/;" f class:UserAdminController
362 create app/controllers/user_admin_controller.rb /^ def create$/;" f class:UserAdminController
240 create_configuration_key db/seeds.rb /^def create_configuration_key(key, $/;" f
363 create_configuration_key db/seeds.rb /^def create_configuration_key(key,$/;" f
241 - create_from_import_form_params app/models/problem.rb /^ def self.create_from_import_form_params(params, old_problem=nil)$/;" F class:Problem
364 + create_from_import_form_params app/models/problem.rb /^ def self.create_from_import_form_params(params, old_problem=nil)$/;" S class:Problem
242 create_from_list app/controllers/user_admin_controller.rb /^ def create_from_list$/;" f class:UserAdminController
365 create_from_list app/controllers/user_admin_controller.rb /^ def create_from_list$/;" f class:UserAdminController
243 - daemonize script/spec_server /^def daemonize(pid_file = nil)$/;" f
366 + create_from_list app/models/user.rb /^ def self.create_from_list(lines)$/;" S class:User
367 + current_score app/controllers/report_controller.rb /^ def current_score$/;" f class:ReportController
368 + current_user app/controllers/application_controller.rb /^ def current_user$/;" f class:ApplicationController
369 + description_params app/controllers/problems_controller.rb /^ def description_params$/;" f class:ProblemsController
244 destroy app/controllers/announcements_controller.rb /^ def destroy$/;" f class:AnnouncementsController
370 destroy app/controllers/announcements_controller.rb /^ def destroy$/;" f class:AnnouncementsController
245 destroy app/controllers/contests_controller.rb /^ def destroy$/;" f class:ContestsController
371 destroy app/controllers/contests_controller.rb /^ def destroy$/;" f class:ContestsController
372 + destroy app/controllers/groups_controller.rb /^ def destroy$/;" f class:GroupsController
246 destroy app/controllers/problems_controller.rb /^ def destroy$/;" f class:ProblemsController
373 destroy app/controllers/problems_controller.rb /^ def destroy$/;" f class:ProblemsController
247 destroy app/controllers/sites_controller.rb /^ def destroy$/;" f class:SitesController
374 destroy app/controllers/sites_controller.rb /^ def destroy$/;" f class:SitesController
248 - destroy app/controllers/user_admin_controller.rb /^ def destroy$/;" f
375 + destroy app/controllers/tags_controller.rb /^ def destroy$/;" f class:TagsController
249 - disable_multicontest spec/config_spec_helper.rb /^ def disable_multicontest$/;" f class:ConfigSpecHelperMethods
376 + destroy app/controllers/user_admin_controller.rb /^ def destroy$/;" f class:UserAdminController
250 - do_import app/controllers/problems_controller.rb /^ def do_import$/;" f
377 + direct_edit_problem app/controllers/submissions_controller.rb /^ def direct_edit_problem$/;" f class:SubmissionsController
251 - do_manage app/controllers/problems_controller.rb /^ def do_manage$/;" f
378 + display_manual script/score_subtask.rb /^def display_manual$/;" f
252 - down db/migrate/001_create_users.rb /^ def self.down$/;" F class:CreateUsers
379 + do_import app/controllers/problems_controller.rb /^ def do_import$/;" f class:ProblemsController
253 - down db/migrate/002_create_problems.rb /^ def self.down$/;" F class:CreateProblems
380 + do_manage app/controllers/problems_controller.rb /^ def do_manage$/;" f class:ProblemsController
254 - down db/migrate/003_create_submissions.rb /^ def self.down$/;" F class:CreateSubmissions
381 + down db/migrate/001_create_users.rb /^ def self.down$/;" S class:CreateUsers
255 - down db/migrate/004_create_languages.rb /^ def self.down$/;" F class:CreateLanguages
382 + down db/migrate/002_create_problems.rb /^ def self.down$/;" S class:CreateProblems
256 - down db/migrate/005_add_index_to_submissions.rb /^ def self.down$/;" F class:AddIndexToSubmissions
383 + down db/migrate/003_create_submissions.rb /^ def self.down$/;" S class:CreateSubmissions
257 - down db/migrate/006_create_roles.rb /^ def self.down$/;" F class:CreateRoles
384 + down db/migrate/004_create_languages.rb /^ def self.down$/;" S class:CreateLanguages
258 - down db/migrate/007_create_rights.rb /^ def self.down$/;" F class:CreateRights
385 + down db/migrate/005_add_index_to_submissions.rb /^ def self.down$/;" S class:AddIndexToSubmissions
259 - down db/migrate/008_create_tasks.rb /^ def self.down$/;" F class:CreateTasks
386 + down db/migrate/006_create_roles.rb /^ def self.down$/;" S class:CreateRoles
260 - down db/migrate/009_add_sessions.rb /^ def self.down$/;" F class:AddSessions
387 + down db/migrate/007_create_rights.rb /^ def self.down$/;" S class:CreateRights
261 - down db/migrate/011_add_language_ext.rb /^ def self.down$/;" F class:AddLanguageExt
388 + down db/migrate/008_create_tasks.rb /^ def self.down$/;" S class:CreateTasks
262 - down db/migrate/012_add_email_to_users.rb /^ def self.down$/;" F class:AddEmailToUsers
389 + down db/migrate/009_add_sessions.rb /^ def self.down$/;" S class:AddSessions
263 - down db/migrate/013_add_url_to_problem.rb /^ def self.down$/;" F class:AddUrlToProblem
390 + down db/migrate/011_add_language_ext.rb /^ def self.down$/;" S class:AddLanguageExt
264 - down db/migrate/014_create_grader_processes.rb /^ def self.down$/;" F class:CreateGraderProcesses
391 + down db/migrate/012_add_email_to_users.rb /^ def self.down$/;" S class:AddEmailToUsers
265 - down db/migrate/015_add_status_to_tasks.rb /^ def self.down$/;" F class:AddStatusToTasks
392 + down db/migrate/013_add_url_to_problem.rb /^ def self.down$/;" S class:AddUrlToProblem
266 - down db/migrate/016_add_task_to_grader_process.rb /^ def self.down$/;" F class:AddTaskToGraderProcess
393 + down db/migrate/014_create_grader_processes.rb /^ def self.down$/;" S class:CreateGraderProcesses
267 - down db/migrate/017_rename_grader_process_column_ip_to_host.rb /^ def self.down$/;" F class:RenameGraderProcessColumnIpToHost
394 + down db/migrate/015_add_status_to_tasks.rb /^ def self.down$/;" S class:AddStatusToTasks
268 - down db/migrate/018_add_number_to_submissions.rb /^ def self.down$/;" F class:AddNumberToSubmissions
395 + down db/migrate/016_add_task_to_grader_process.rb /^ def self.down$/;" S class:AddTaskToGraderProcess
269 - down db/migrate/019_create_test_requests.rb /^ def self.down$/;" F class:CreateTestRequests
396 + down db/migrate/017_rename_grader_process_column_ip_to_host.rb /^ def self.down$/;" S class:RenameGraderProcessColumnIpToHost
270 - down db/migrate/021_change_compiler_message_type_test_request.rb /^ def self.down$/;" F class:ChangeCompilerMessageTypeTestRequest
397 + down db/migrate/018_add_number_to_submissions.rb /^ def self.down$/;" S class:AddNumberToSubmissions
271 - down db/migrate/022_create_configurations.rb /^ def self.down$/;" F class:CreateConfigurations
398 + down db/migrate/019_create_test_requests.rb /^ def self.down$/;" S class:CreateTestRequests
272 - down db/migrate/023_add_runstat_columns_to_test_request.rb /^ def self.down$/;" F class:AddRunstatColumnsToTestRequest
399 + down db/migrate/021_change_compiler_message_type_test_request.rb /^ def self.down$/;" S class:ChangeCompilerMessageTypeTestRequest
273 - down db/migrate/024_create_sites.rb /^ def self.down$/;" F class:CreateSites
400 + down db/migrate/022_create_configurations.rb /^ def self.down$/;" S class:CreateConfigurations
274 - down db/migrate/025_add_site_to_user_and_add_default_site.rb /^ def self.down$/;" F
401 + down db/migrate/023_add_runstat_columns_to_test_request.rb /^ def self.down$/;" S class:AddRunstatColumnsToTestRequest
275 - down db/migrate/026_add_body_to_problems.rb /^ def self.down$/;" F class:AddBodyToProblems
402 + down db/migrate/024_create_sites.rb /^ def self.down$/;" S class:CreateSites
276 - down db/migrate/027_create_descriptions.rb /^ def self.down$/;" F class:CreateDescriptions
403 + down db/migrate/025_add_site_to_user_and_add_default_site.rb /^ def self.down$/;" S class:AddSiteToUserAndAddDefaultSite
277 - down db/migrate/028_refactor_problem_body_to_description.rb /^ def self.down$/;" F class:RefactorProblemBodyToDescription
404 + down db/migrate/026_add_body_to_problems.rb /^ def self.down$/;" S class:AddBodyToProblems
278 - down db/migrate/029_add_test_allowed_to_problems.rb /^ def self.down$/;" F class:AddTestAllowedToProblems
405 + down db/migrate/027_create_descriptions.rb /^ def self.down$/;" S class:CreateDescriptions
279 - down db/migrate/030_create_announcements.rb /^ def self.down$/;" F class:CreateAnnouncements
406 + down db/migrate/028_refactor_problem_body_to_description.rb /^ def self.down$/;" S class:RefactorProblemBodyToDescription
280 - down db/migrate/031_add_supports_for_output_only_problems.rb /^ def self.down$/;" F class:AddSupportsForOutputOnlyProblems
407 + down db/migrate/029_add_test_allowed_to_problems.rb /^ def self.down$/;" S class:AddTestAllowedToProblems
281 - down db/migrate/032_create_messages.rb /^ def self.down$/;" F class:CreateMessages
408 + down db/migrate/030_create_announcements.rb /^ def self.down$/;" S class:CreateAnnouncements
282 - down db/migrate/033_add_task_type_to_grader_processes.rb /^ def self.down$/;" F class:AddTaskTypeToGraderProcesses
409 + down db/migrate/031_add_supports_for_output_only_problems.rb /^ def self.down$/;" S class:AddSupportsForOutputOnlyProblems
283 - down db/migrate/034_create_countries.rb /^ def self.down$/;" F class:CreateCountries
410 + down db/migrate/032_create_messages.rb /^ def self.down$/;" S class:CreateMessages
284 - down db/migrate/035_add_country_to_sites_and_users.rb /^ def self.down$/;" F class:AddCountryToSitesAndUsers
411 + down db/migrate/033_add_task_type_to_grader_processes.rb /^ def self.down$/;" S class:AddTaskTypeToGraderProcesses
285 - down db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb /^ def self.down$/;" F class:AddFrontpageFlagToAnnouncement
412 + down db/migrate/034_create_countries.rb /^ def self.down$/;" S class:CreateCountries
286 - down db/migrate/20081204122651_add_activated_to_users.rb /^ def self.down$/;" F
413 + down db/migrate/035_add_country_to_sites_and_users.rb /^ def self.down$/;" S class:AddCountryToSitesAndUsers
287 - down db/migrate/20081210021333_add_timestamps_to_users.rb /^ def self.down$/;" F class:AddTimestampsToUsers
414 + down db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb /^ def self.down$/;" S class:AddFrontpageFlagToAnnouncement
288 - down db/migrate/20081215012843_change_user_login_string_limit.rb /^ def self.down$/;" F class:ChangeUserLoginStringLimit
415 + down db/migrate/20081204122651_add_activated_to_users.rb /^ def self.down$/;" S class:AddActivatedToUsers
289 - down db/migrate/20090206145016_add_contest_flag_to_announcements.rb /^ def self.down$/;" F class:AddContestFlagToAnnouncements
416 + down db/migrate/20081210021333_add_timestamps_to_users.rb /^ def self.down$/;" S class:AddTimestampsToUsers
290 - down db/migrate/20090416235658_add_common_ext_to_languages.rb /^ def self.down$/;" F class:AddCommonExtToLanguages
417 + down db/migrate/20081215012843_change_user_login_string_limit.rb /^ def self.down$/;" S class:ChangeUserLoginStringLimit
291 - down db/migrate/20090426131044_add_terminated_to_grader_processes.rb /^ def self.down$/;" F class:AddTerminatedToGraderProcesses
418 + down db/migrate/20090206145016_add_contest_flag_to_announcements.rb /^ def self.down$/;" S class:AddContestFlagToAnnouncements
292 - down db/migrate/20090815171610_add_title_to_announcements.rb /^ def self.down$/;" F class:AddTitleToAnnouncements
419 + down db/migrate/20090416235658_add_common_ext_to_languages.rb /^ def self.down$/;" S class:AddCommonExtToLanguages
293 - down db/migrate/20100113094740_create_test_pairs.rb /^ def self.down$/;" F class:CreateTestPairs
420 + down db/migrate/20090426131044_add_terminated_to_grader_processes.rb /^ def self.down$/;" S class:AddTerminatedToGraderProcesses
294 - down db/migrate/20100124040107_add_description_to_config.rb /^ def self.down$/;" F class:AddDescriptionToConfig
421 + down db/migrate/20090815171610_add_title_to_announcements.rb /^ def self.down$/;" S class:AddTitleToAnnouncements
295 - down db/migrate/20100124054458_create_user_contest_stats.rb /^ def self.down$/;" F class:CreateUserContestStats
422 + down db/migrate/20100113094740_create_test_pairs.rb /^ def self.down$/;" S class:CreateTestPairs
296 - down db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb /^ def self.down$/;" F class:ChangeInputSolutionFieldLimitInTestPair
423 + down db/migrate/20100124040107_add_description_to_config.rb /^ def self.down$/;" S class:AddDescriptionToConfig
297 - down db/migrate/20100216105730_create_contests.rb /^ def self.down$/;" F class:CreateContests
424 + down db/migrate/20100124054458_create_user_contest_stats.rb /^ def self.down$/;" S class:CreateUserContestStats
298 - down db/migrate/20100216162324_create_contests_users_join_table.rb /^ def self.down$/;" F class:CreateContestsUsersJoinTable
425 + down db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb /^ def self.down$/;" S class:ChangeInputSolutionFieldLimitInTestPair
299 - down db/migrate/20100216162940_create_contests_problems_join_table.rb /^ def self.down$/;" F class:CreateContestsProblemsJoinTable
426 + down db/migrate/20100216105730_create_contests.rb /^ def self.down$/;" S class:CreateContests
300 - down db/migrate/20100219014840_add_description_filename_to_problems.rb /^ def self.down$/;" F class:AddDescriptionFilenameToProblems
427 + down db/migrate/20100216162324_create_contests_users_join_table.rb /^ def self.down$/;" S class:CreateContestsUsersJoinTable
301 - down db/migrate/20100303095700_add_name_to_contests.rb /^ def self.down$/;" F class:AddNameToContests
428 + down db/migrate/20100216162940_create_contests_problems_join_table.rb /^ def self.down$/;" S class:CreateContestsProblemsJoinTable
302 - down db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb /^ def self.down$/;" F class:AddForcedLogoutToUserContestStat
429 + down db/migrate/20100219014840_add_description_filename_to_problems.rb /^ def self.down$/;" S class:AddDescriptionFilenameToProblems
303 - down db/migrate/20100506163112_add_notes_to_announcements.rb /^ def self.down$/;" F class:AddNotesToAnnouncements
430 + down db/migrate/20100303095700_add_name_to_contests.rb /^ def self.down$/;" S class:AddNameToContests
431 + down db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb /^ def self.down$/;" S class:AddForcedLogoutToUserContestStat
432 + down db/migrate/20100506163112_add_notes_to_announcements.rb /^ def self.down$/;" S class:AddNotesToAnnouncements
433 + down db/migrate/20150503164846_change_userid_on_login.rb /^ def down$/;" f class:ChangeUseridOnLogin
434 + down db/migrate/20150914223258_add_more_config.rb /^ def down$/;" f class:AddMoreConfig
435 + down db/migrate/20150916054105_update_heart_beat.rb /^ def down$/;" f class:UpdateHeartBeat
436 + down db/migrate/20161008050135_modify_grader_process.rb /^ def down$/;" f class:ModifyGraderProcess
437 + down db/migrate/20161031063337_add_config_view_test.rb /^ def down$/;" f class:AddConfigViewTest
438 + down db/migrate/20170427070345_add_heart_beat_full.rb /^ def down$/;" f class:AddHeartBeatFull
439 + download app/controllers/submissions_controller.rb /^ def download$/;" f class:SubmissionsController
304 download app/controllers/tasks_controller.rb /^ def download$/;" f class:TasksController
440 download app/controllers/tasks_controller.rb /^ def download$/;" f class:TasksController
305 - download_file_basedir app/models/problem.rb /^ def self.download_file_basedir$/;" F class:Problem
441 + download_file_basedir app/models/problem.rb /^ def self.download_file_basedir$/;" S class:Problem
306 download_filename app/models/submission.rb /^ def download_filename$/;" f class:Submission
442 download_filename app/models/submission.rb /^ def download_filename$/;" f class:Submission
443 + download_input app/controllers/testcases_controller.rb /^ def download_input$/;" f class:TestcasesController
444 + download_sol app/controllers/testcases_controller.rb /^ def download_sol$/;" f class:TestcasesController
307 edit app/controllers/announcements_controller.rb /^ def edit$/;" f class:AnnouncementsController
445 edit app/controllers/announcements_controller.rb /^ def edit$/;" f class:AnnouncementsController
308 edit app/controllers/contests_controller.rb /^ def edit$/;" f class:ContestsController
446 edit app/controllers/contests_controller.rb /^ def edit$/;" f class:ContestsController
447 + edit app/controllers/groups_controller.rb /^ def edit$/;" f class:GroupsController
448 + edit app/controllers/heartbeat_controller.rb /^ def edit$/;" f class:HeartbeatController
309 edit app/controllers/problems_controller.rb /^ def edit$/;" f class:ProblemsController
449 edit app/controllers/problems_controller.rb /^ def edit$/;" f class:ProblemsController
310 edit app/controllers/sites_controller.rb /^ def edit$/;" f class:SitesController
450 edit app/controllers/sites_controller.rb /^ def edit$/;" f class:SitesController
311 - edit app/controllers/user_admin_controller.rb /^ def edit$/;" f
451 + edit app/controllers/submissions_controller.rb /^ def edit$/;" f class:SubmissionsController
452 + edit app/controllers/tags_controller.rb /^ def edit$/;" f class:TagsController
453 + edit app/controllers/user_admin_controller.rb /^ def edit$/;" f class:UserAdminController
312 email_for_editing app/models/user.rb /^ def email_for_editing$/;" f class:User
454 email_for_editing app/models/user.rb /^ def email_for_editing$/;" f class:User
313 email_for_editing= app/models/user.rb /^ def email_for_editing=(e)$/;" f class:User
455 email_for_editing= app/models/user.rb /^ def email_for_editing=(e)$/;" f class:User
314 email_validation? app/models/user.rb /^ def email_validation?$/;" f class:User
456 email_validation? app/models/user.rb /^ def email_validation?$/;" f class:User
315 - enable_multicontest spec/config_spec_helper.rb /^ def enable_multicontest$/;" f class:ConfigSpecHelperMethods
457 + encode_params test/load/visitor_curl_cli.rb /^ def encode_params(params)$/;" f class:Visitor
316 - encode_params test/load/visitor_curl_cli.rb /^ def encode_params(params)$/;" f
458 + encrypt app/models/user.rb /^ def self.encrypt(string,salt)$/;" S class:User
317 - encrypt app/models/user.rb /^ def self.encrypt(string,salt)$/;" F class:User
318 encrypt_new_password app/models/user.rb /^ def encrypt_new_password$/;" f class:User
459 encrypt_new_password app/models/user.rb /^ def encrypt_new_password$/;" f class:User
319 enough_time_interval_between_same_email_registrations app/models/user.rb /^ def enough_time_interval_between_same_email_registrations$/;" f class:User
460 enough_time_interval_between_same_email_registrations app/models/user.rb /^ def enough_time_interval_between_same_email_registrations$/;" f class:User
320 error app/controllers/main_controller.rb /^ def error$/;" f class:MainController
461 error app/controllers/main_controller.rb /^ def error$/;" f class:MainController
321 extract lib/testdata_importer.rb /^ def extract(tempfile)$/;" f class:TestdataImporter
462 extract lib/testdata_importer.rb /^ def extract(tempfile)$/;" f class:TestdataImporter
322 - extract_params_and_check app/models/problem.rb /^ def self.extract_params_and_check(params, problem)$/;" F class:Problem
463 + extract_params_and_check app/models/problem.rb /^ def self.extract_params_and_check(params, problem)$/;" S class:Problem
323 extract_running_stat app/controllers/main_controller.rb /^ def extract_running_stat(results)$/;" f class:MainController
464 extract_running_stat app/controllers/main_controller.rb /^ def extract_running_stat(results)$/;" f class:MainController
324 - find_all_by_user_problem app/models/submission.rb /^ def self.find_all_by_user_problem(user_id, problem_id)$/;" F class:Submission
465 + find_all_by_user_problem app/models/submission.rb /^ def self.find_all_by_user_problem(user_id, problem_id)$/;" S class:Submission
325 - find_all_last_by_problem app/models/submission.rb /^ def self.find_all_last_by_problem(problem_id)$/;" F class:Submission
466 + find_all_last_by_problem app/models/submission.rb /^ def self.find_all_last_by_problem(problem_id)$/;" S class:Submission
326 - find_all_sent_by_user app/models/message.rb /^ def self.find_all_sent_by_user(user)$/;" F class:Message
467 + find_all_sent_by_user app/models/message.rb /^ def self.find_all_sent_by_user(user)$/;" S class:Message
327 - find_all_system_unreplied_messages app/models/message.rb /^ def self.find_all_system_unreplied_messages$/;" F class:Message
468 + find_all_system_unreplied_messages app/models/message.rb /^ def self.find_all_system_unreplied_messages$/;" S class:Message
328 - find_available_problems app/models/problem.rb /^ def self.find_available_problems$/;" F class:Problem
469 + find_by_extension app/models/language.rb /^ def self.find_by_extension(ext)$/;" S class:Language
329 - find_by_extension app/models/language.rb /^ def self.find_by_extension(ext)$/;" F class:Language
470 + find_by_host_and_pid app/models/grader_process.rb /^ def self.find_by_host_and_pid(host,pid)$/;" S class:GraderProcess
330 - find_by_host_and_pid app/models/grader_process.rb /^ def self.find_by_host_and_pid(host,pid)$/;" F class:GraderProcess
471 + find_by_user_problem_number app/models/submission.rb /^ def self.find_by_user_problem_number(user_id, problem_id, number)$/;" S class:Submission
331 - find_by_user_problem_number app/models/submission.rb /^ def self.find_by_user_problem_number(user_id, problem_id, number)$/;" F class:Submission
472 + find_contest_and_user_from_contest_id app/controllers/user_admin_controller.rb /^ def find_contest_and_user_from_contest_id(id)$/;" f class:UserAdminController
332 - find_contest_and_user_from_contest_id app/controllers/user_admin_controller.rb /^ def find_contest_and_user_from_contest_id(id)$/;" f
473 + find_in_range_by_user_and_problem app/models/submission.rb /^ def self.find_in_range_by_user_and_problem(user_id, problem_id,since_id,until_id)$/;" S class:Submission
333 - find_for_frontpage app/models/announcement.rb /^ def self.find_for_frontpage$/;" F class:Announcement
474 + find_language_in_source app/models/submission.rb /^ def self.find_language_in_source(source, source_filename="")$/;" S class:Submission
334 - find_in_range_by_user_and_problem app/models/submission.rb /^ def self.find_in_range_by_user_and_problem(user_id, problem_id,since_id,until_id)$/;" F class:Submission
475 + find_last_by_user_and_problem app/models/submission.rb /^ def self.find_last_by_user_and_problem(user_id, problem_id)$/;" S class:Submission
335 - find_language_in_source app/models/submission.rb /^ def self.find_language_in_source(source, source_filename="")$/;" F class:Submission
476 + find_last_for_all_available_problems app/models/submission.rb /^ def self.find_last_for_all_available_problems(user_id)$/;" S class:Submission
336 - find_last_by_user_and_problem app/models/submission.rb /^ def self.find_last_by_user_and_problem(user_id, problem_id)$/;" F class:Submission
477 + find_non_admin_with_prefix app/models/user.rb /^ def self.find_non_admin_with_prefix(prefix='')$/;" S class:User
337 - find_last_for_all_available_problems app/models/submission.rb /^ def self.find_last_for_all_available_problems(user_id)$/;" F class:Submission
478 + find_option_in_source app/models/submission.rb /^ def self.find_option_in_source(option, source)$/;" S class:Submission
338 - find_non_admin_with_prefix app/models/user.rb /^ def self.find_non_admin_with_prefix(prefix='')$/;" F class:User
479 + find_or_create_user lib/programming_authenticator.rb /^ def find_or_create_user(result)$/;" f class:ProgrammingAuthenticator
339 - find_option_in_source app/models/submission.rb /^ def self.find_option_in_source(option, source)$/;" F class:Submission
480 + find_problem_in_source app/models/submission.rb /^ def self.find_problem_in_source(source, source_filename="")$/;" S class:Submission
340 - find_or_create_and_set_config spec/config_spec_helper.rb /^ def find_or_create_and_set_config(key, type, value)$/;" f class:ConfigSpecHelperMethods
481 + find_running_graders app/models/grader_process.rb /^ def self.find_running_graders$/;" S class:GraderProcess
341 - find_problem_in_source app/models/submission.rb /^ def self.find_problem_in_source(source, source_filename="")$/;" F class:Submission
482 + find_stalled_process app/models/grader_process.rb /^ def self.find_stalled_process$/;" S class:GraderProcess
342 - find_published app/models/announcement.rb /^ def self.find_published(contest_started=false)$/;" F class:Announcement
483 + find_terminated_graders app/models/grader_process.rb /^ def self.find_terminated_graders$/;" S class:GraderProcess
343 - find_running_graders app/models/grader_process.rb /^ def self.find_running_graders$/;" F class:GraderProcess
484 + find_users_with_no_contest app/models/user.rb /^ def self.find_users_with_no_contest()$/;" S class:User
344 - find_stalled_process app/models/grader_process.rb /^ def self.find_stalled_process$/;" F class:GraderProcess
345 - find_terminated_graders app/models/grader_process.rb /^ def self.find_terminated_graders$/;" F class:GraderProcess
346 - find_users_with_no_contest app/models/user.rb /^ def self.find_users_with_no_contest()$/;" F class:User
347 finished? app/models/site.rb /^ def finished?$/;" f class:Site
485 finished? app/models/site.rb /^ def finished?$/;" f class:Site
348 forget app/controllers/users_controller.rb /^ def forget$/;" f class:UsersController
486 forget app/controllers/users_controller.rb /^ def forget$/;" f class:UsersController
349 - format_short_duration app/helpers/application_helper.rb /^ def format_short_duration(duration)$/;" f class:ApplicationHelper
487 + format_full_time_ago app/helpers/application_helper.rb /^ def format_full_time_ago(time)$/;" f module:ApplicationHelper
350 - format_short_time app/helpers/application_helper.rb /^ def format_short_time(time)$/;" f class:ApplicationHelper
488 + format_short_duration app/helpers/application_helper.rb /^ def format_short_duration(duration)$/;" f module:ApplicationHelper
351 - gen_csv_from_scorearray app/controllers/user_admin_controller.rb /^ def gen_csv_from_scorearray(scorearray,problem)$/;" f
489 + format_short_time app/helpers/application_helper.rb /^ def format_short_time(time)$/;" f module:ApplicationHelper
352 - generate_tasks test/unit/task_test.rb /^ def generate_tasks(n)$/;" f class:TaskTest
490 + frontpage app/models/announcement.rb /^ def self.frontpage$/;" S class:Announcement
353 - get app/models/grader_configuration.rb /^ def self.get(key)$/;" F class:GraderConfiguration
491 + gen_csv_from_scorearray app/controllers/report_controller.rb /^ def gen_csv_from_scorearray(scorearray,problem)$/;" f class:ReportController
354 - get test/load/visitor_curl_cli.rb /^ def get(url,params)$/;" f
492 + gen_csv_from_scorearray app/controllers/user_admin_controller.rb /^ def gen_csv_from_scorearray(scorearray,problem)$/;" f class:UserAdminController
355 - get test/load/visitor_curl_cli.rb /^ def self.get(url,params=nil)$/;" F
493 + get app/models/grader_configuration.rb /^ def self.get(key)$/;" S class:GraderConfiguration
356 - get_cookie_fname test/load/visitor_curl_cli.rb /^ def get_cookie_fname$/;" f
494 + get test/load/visitor_curl_cli.rb /^ def get(url,params)$/;" f class:Visitor
357 - get_inqueue_and_change_status app/models/task.rb /^ def self.get_inqueue_and_change_status(status)$/;" F class:Task
495 + get test/load/visitor_curl_cli.rb /^ def self.get(url,params=nil)$/;" S class:Visitor
358 - get_inqueue_and_change_status app/models/test_request.rb /^ def self.get_inqueue_and_change_status(status)$/;" F class:TestRequest
496 + get_ace_mode app/helpers/application_helper.rb /^ def get_ace_mode(language)$/;" f module:ApplicationHelper
359 - get_main_list spec/integration/contest_managements_spec.rb /^ def get_main_list$/;" f class:MainSessionMethods
497 + get_authenticated_user app/controllers/login_controller.rb /^ def get_authenticated_user(login, password)$/;" f class:LoginController
360 - get_main_list_and_assert_logout spec/integration/contest_managements_spec.rb /^ def get_main_list_and_assert_logout$/;" f class:MainSessionMethods
498 + get_cookie_fname test/load/visitor_curl_cli.rb /^ def get_cookie_fname$/;" f class:Visitor
361 - get_output_fname test/load/visitor_curl_cli.rb /^ def get_output_fname$/;" f
499 + get_inqueue_and_change_status app/models/task.rb /^ def self.get_inqueue_and_change_status(status)$/;" S class:Task
362 - get_problems_from_params app/controllers/problems_controller.rb /^ def get_problems_from_params$/;" f
500 + get_inqueue_and_change_status app/models/test_request.rb /^ def self.get_inqueue_and_change_status(status)$/;" S class:TestRequest
363 - grader_control_enabled lib/grader_script.rb /^ def self.grader_control_enabled?$/;" F class:GraderScript
501 + get_jschart_history app/models/problem.rb /^ def get_jschart_history$/;" f class:Problem
502 + get_latest_submission_status app/controllers/submissions_controller.rb /^ def get_latest_submission_status$/;" f class:SubmissionsController
503 + get_output_fname test/load/visitor_curl_cli.rb /^ def get_output_fname$/;" f class:Visitor
504 + get_problems_from_params app/controllers/problems_controller.rb /^ def get_problems_from_params$/;" f class:ProblemsController
505 + get_problems_stat app/controllers/problems_controller.rb /^ def get_problems_stat$/;" f class:ProblemsController
506 + get_submission_stat app/models/problem.rb /^ def get_submission_stat$/;" f class:Problem
507 + grader_control_enabled? lib/grader_script.rb /^ def self.grader_control_enabled?$/;" S module:GraderScript
364 grading_result_dir app/controllers/main_controller.rb /^ def grading_result_dir(user_name, problem_name, submission_id, case_num)$/;" f class:MainController
508 grading_result_dir app/controllers/main_controller.rb /^ def grading_result_dir(user_name, problem_name, submission_id, case_num)$/;" f class:MainController
365 - grant_admin app/controllers/user_admin_controller.rb /^ def grant_admin$/;" f
509 + group_params app/controllers/groups_controller.rb /^ def group_params$/;" f class:GroupsController
510 + has_role? app/models/user.rb /^ def has_role?(role)$/;" f class:User
366 help app/controllers/main_controller.rb /^ def help$/;" f class:MainController
511 help app/controllers/main_controller.rb /^ def help$/;" f class:MainController
367 hide app/controllers/messages_controller.rb /^ def hide$/;" f class:MessagesController
512 hide app/controllers/messages_controller.rb /^ def hide$/;" f class:MessagesController
368 - id test/load/visitor_curl_cli.rb /^ def id$/;" f
513 + id test/load/visitor_curl_cli.rb /^ def id$/;" f class:Visitor
369 - import app/controllers/problems_controller.rb /^ def import$/;" f
514 + import app/controllers/problems_controller.rb /^ def import$/;" f class:ProblemsController
370 - import app/controllers/user_admin_controller.rb /^ def import$/;" f
515 + import app/controllers/user_admin_controller.rb /^ def import$/;" f class:UserAdminController
371 - import_from_file app/controllers/user_admin_controller.rb /^ def import_from_file(f)$/;" f
516 + import_from_file app/controllers/user_admin_controller.rb /^ def import_from_file(f)$/;" f class:UserAdminController
372 import_from_file lib/testdata_importer.rb /^ def import_from_file(tempfile, $/;" f class:TestdataImporter
517 import_from_file lib/testdata_importer.rb /^ def import_from_file(tempfile,$/;" f class:TestdataImporter
373 - import_full_score lib/testdata_importer.rb /^ def import_full_score(dirname)$/;" f
518 + import_full_score lib/testdata_importer.rb /^ def import_full_score(dirname)$/;" f class:TestdataImporter
374 - import_problem_description lib/testdata_importer.rb /^ def import_problem_description(dirname)$/;" f
519 + import_problem_description lib/testdata_importer.rb /^ def import_problem_description(dirname)$/;" f class:TestdataImporter
375 - import_problem_pdf lib/testdata_importer.rb /^ def import_problem_pdf(dirname)$/;" f
520 + import_problem_pdf lib/testdata_importer.rb /^ def import_problem_pdf(dirname)$/;" f class:TestdataImporter
376 - import_test_pairs lib/testdata_importer.rb /^ def import_test_pairs(dirname)$/;" f
521 + import_test_pairs lib/testdata_importer.rb /^ def import_test_pairs(dirname)$/;" f class:TestdataImporter
377 index app/controllers/announcements_controller.rb /^ def index$/;" f class:AnnouncementsController
522 index app/controllers/announcements_controller.rb /^ def index$/;" f class:AnnouncementsController
378 index app/controllers/configurations_controller.rb /^ def index$/;" f class:ConfigurationsController
523 index app/controllers/configurations_controller.rb /^ def index$/;" f class:ConfigurationsController
379 index app/controllers/contest_management_controller.rb /^ def index$/;" f class:ContestManagementController
524 index app/controllers/contest_management_controller.rb /^ def index$/;" f class:ContestManagementController
380 index app/controllers/contests_controller.rb /^ def index$/;" f class:ContestsController
525 index app/controllers/contests_controller.rb /^ def index$/;" f class:ContestsController
381 index app/controllers/graders_controller.rb /^ def index$/;" f class:GradersController
526 index app/controllers/graders_controller.rb /^ def index$/;" f class:GradersController
527 + index app/controllers/groups_controller.rb /^ def index$/;" f class:GroupsController
528 + index app/controllers/heartbeat_controller.rb /^ def index$/;" f class:HeartbeatController
382 index app/controllers/login_controller.rb /^ def index$/;" f class:LoginController
529 index app/controllers/login_controller.rb /^ def index$/;" f class:LoginController
383 - index app/controllers/main_controller.rb /^ def index$/;" f class:MainController
530 + index app/controllers/messages_controller.rb /^ def index$/;" f class:MessagesController
384 index app/controllers/problems_controller.rb /^ def index$/;" f class:ProblemsController
531 index app/controllers/problems_controller.rb /^ def index$/;" f class:ProblemsController
385 index app/controllers/site_controller.rb /^ def index$/;" f class:SiteController
532 index app/controllers/site_controller.rb /^ def index$/;" f class:SiteController
386 index app/controllers/sites_controller.rb /^ def index$/;" f class:SitesController
533 index app/controllers/sites_controller.rb /^ def index$/;" f class:SitesController
534 + index app/controllers/submissions_controller.rb /^ def index$/;" f class:SubmissionsController
535 + index app/controllers/tags_controller.rb /^ def index$/;" f class:TagsController
387 index app/controllers/tasks_controller.rb /^ def index$/;" f class:TasksController
536 index app/controllers/tasks_controller.rb /^ def index$/;" f class:TasksController
388 index app/controllers/test_controller.rb /^ def index$/;" f class:TestController
537 index app/controllers/test_controller.rb /^ def index$/;" f class:TestController
389 index app/controllers/user_admin_controller.rb /^ def index$/;" f class:UserAdminController
538 index app/controllers/user_admin_controller.rb /^ def index$/;" f class:UserAdminController
390 index app/controllers/users_controller.rb /^ def index$/;" f class:UsersController
539 index app/controllers/users_controller.rb /^ def index$/;" f class:UsersController
391 - indv_contest_mode app/models/grader_configuration.rb /^ def self.indv_contest_mode?$/;" F class:GraderConfiguration
540 + indv_contest_mode? app/models/grader_configuration.rb /^ def self.indv_contest_mode?$/;" S class:GraderConfiguration
392 initialize config/size_filter_handler.rb /^ def initialize(options = {})$/;" f class:SizeFilterHandler
541 initialize config/size_filter_handler.rb /^ def initialize(options = {})$/;" f class:SizeFilterHandler
393 initialize lib/testdata_importer.rb /^ def initialize(problem)$/;" f class:TestdataImporter
542 initialize lib/testdata_importer.rb /^ def initialize(problem)$/;" f class:TestdataImporter
394 - initialize test/load/visitor_curl_cli.rb /^ def initialize(id=0, base_dir='.')$/;" f
543 + initialize test/load/visitor_curl_cli.rb /^ def initialize(id=0, base_dir='.')$/;" f class:Visitor
395 initialize_temp_dir test/load/runner.rb /^def initialize_temp_dir$/;" f
544 initialize_temp_dir test/load/runner.rb /^def initialize_temp_dir$/;" f
396 - james_login_and_get_main_list spec/integration/contest_managements_spec.rb /^ def james_login_and_get_main_list(session)$/;" f
545 + is_request_ip_allowed? app/controllers/application_controller.rb /^ def is_request_ip_allowed?$/;" f class:ApplicationController
397 language app/models/test_request.rb /^ def language$/;" f class:TestRequest
546 language app/models/test_request.rb /^ def language$/;" f class:TestRequest
398 - link_to_description_if_any app/helpers/main_helper.rb /^ def link_to_description_if_any(name, problem, options={})$/;" f class:MainHelper
547 + link_to_description_if_any app/helpers/main_helper.rb /^ def link_to_description_if_any(name, problem)$/;" f module:MainHelper
399 list app/controllers/graders_controller.rb /^ def list$/;" f class:GradersController
548 list app/controllers/graders_controller.rb /^ def list$/;" f class:GradersController
400 list app/controllers/main_controller.rb /^ def list$/;" f class:MainController
549 list app/controllers/main_controller.rb /^ def list$/;" f class:MainController
401 - list app/controllers/messages_controller.rb /^ def list$/;" f class:MessagesController
402 - list app/controllers/problems_controller.rb /^ def list$/;" f class:ProblemsController
403 list app/controllers/tasks_controller.rb /^ def list$/;" f class:TasksController
550 list app/controllers/tasks_controller.rb /^ def list$/;" f class:TasksController
404 - list app/controllers/user_admin_controller.rb /^ def list$/;" f class:UserAdminController
551 + list_all app/controllers/messages_controller.rb /^ def list_all$/;" f class:MessagesController
405 load_output app/controllers/main_controller.rb /^ def load_output$/;" f class:MainController
552 load_output app/controllers/main_controller.rb /^ def load_output$/;" f class:MainController
406 login app/controllers/login_controller.rb /^ def login$/;" f class:LoginController
553 login app/controllers/login_controller.rb /^ def login$/;" f class:LoginController
407 login app/controllers/main_controller.rb /^ def login$/;" f class:MainController
554 login app/controllers/main_controller.rb /^ def login$/;" f class:MainController
555 + login app/controllers/report_controller.rb /^ def login$/;" f class:ReportController
408 login app/controllers/site_controller.rb /^ def login$/;" f class:SiteController
556 login app/controllers/site_controller.rb /^ def login$/;" f class:SiteController
409 - login spec/integration/contest_managements_spec.rb /^ def login(login_name, password)$/;" f class:MainSessionMethods
557 + login test/system/submissions_test.rb /^ def login(username,password)$/;" f class:SubmissionsTest
410 - login_stat app/controllers/report_controller.rb /^ def login_stat$/;" f class:ReportController
558 + login test/system/users_test.rb /^ def login(username,password)$/;" f class:UsersTest
559 + login_detail_query app/controllers/report_controller.rb /^ def login_detail_query$/;" f class:ReportController
560 + login_summary_query app/controllers/report_controller.rb /^ def login_summary_query$/;" f class:ReportController
561 + login_with_name app/models/user.rb /^ def login_with_name$/;" f class:User
562 + logout app/controllers/login_controller.rb /^ def logout$/;" f class:LoginController
563 + logout app/controllers/main_controller.rb /^ def logout$/;" f class:MainController
411 logout app/controllers/site_controller.rb /^ def logout$/;" f class:SiteController
564 logout app/controllers/site_controller.rb /^ def logout$/;" f class:SiteController
412 - logout_users app/controllers/user_admin_controller.rb /^ def logout_users(users)$/;" f
565 + logout_users app/controllers/user_admin_controller.rb /^ def logout_users(users)$/;" f class:UserAdminController
413 - long_ext lib/testdata_importer.rb /^ def self.long_ext(filename)$/;" F class:TestdataImporter
566 + long_ext lib/testdata_importer.rb /^ def self.long_ext(filename)$/;" S class:TestdataImporter
414 - manage app/controllers/problems_controller.rb /^ def manage$/;" f
567 + long_name app/models/problem.rb /^ def long_name$/;" f class:Problem
415 - manage_contest app/controllers/user_admin_controller.rb /^ def manage_contest$/;" f
568 + manage app/controllers/problems_controller.rb /^ def manage$/;" f class:ProblemsController
416 - markdown app/helpers/application_helper.rb /^ def markdown(text)$/;" f class:ApplicationHelper
569 + manage_contest app/controllers/user_admin_controller.rb /^ def manage_contest$/;" f class:UserAdminController
417 - mass_mailing app/controllers/user_admin_controller.rb /^ def mass_mailing$/;" f
570 + markdown app/helpers/application_helper.rb /^ def markdown(text)$/;" f module:ApplicationHelper
418 - multicontests app/models/grader_configuration.rb /^ def self.multicontests?$/;" F class:GraderConfiguration
571 + mass_mailing app/controllers/user_admin_controller.rb /^ def mass_mailing$/;" f class:UserAdminController
572 + max_score app/controllers/report_controller.rb /^ def max_score$/;" f class:ReportController
573 + message_params app/controllers/messages_controller.rb /^ def message_params$/;" f class:MessagesController
574 + modify_role app/controllers/user_admin_controller.rb /^ def modify_role$/;" f class:UserAdminController
575 + multicontests? app/models/grader_configuration.rb /^ def self.multicontests?$/;" S class:GraderConfiguration
576 + multiple_login app/controllers/report_controller.rb /^ def multiple_login$/;" f class:ReportController
419 must_have_valid_problem app/models/submission.rb /^ def must_have_valid_problem$/;" f class:Submission
577 must_have_valid_problem app/models/submission.rb /^ def must_have_valid_problem$/;" f class:Submission
420 - must_have_valid_problem app/models/test_request.rb /^ def must_have_valid_problem$/;" f
578 + must_have_valid_problem app/models/test_request.rb /^ def must_have_valid_problem$/;" f class:TestRequest
421 must_specify_language app/models/submission.rb /^ def must_specify_language$/;" f class:Submission
579 must_specify_language app/models/submission.rb /^ def must_specify_language$/;" f class:Submission
422 - name_of app/models/test_request.rb /^ def self.name_of(problem)$/;" F class:TestRequest
580 + name_of app/models/test_request.rb /^ def self.name_of(problem)$/;" S class:TestRequest
581 + nav_announcement app/controllers/application_controller.rb /^ def nav_announcement$/;" f class:ApplicationController
582 + navbar_user_header app/helpers/application_helper.rb /^ def navbar_user_header$/;" f module:ApplicationHelper
423 new app/controllers/announcements_controller.rb /^ def new$/;" f class:AnnouncementsController
583 new app/controllers/announcements_controller.rb /^ def new$/;" f class:AnnouncementsController
424 new app/controllers/contests_controller.rb /^ def new$/;" f class:ContestsController
584 new app/controllers/contests_controller.rb /^ def new$/;" f class:ContestsController
585 + new app/controllers/groups_controller.rb /^ def new$/;" f class:GroupsController
425 new app/controllers/problems_controller.rb /^ def new$/;" f class:ProblemsController
586 new app/controllers/problems_controller.rb /^ def new$/;" f class:ProblemsController
426 new app/controllers/sites_controller.rb /^ def new$/;" f class:SitesController
587 new app/controllers/sites_controller.rb /^ def new$/;" f class:SitesController
588 + new app/controllers/tags_controller.rb /^ def new$/;" f class:TagsController
427 new app/controllers/user_admin_controller.rb /^ def new$/;" f class:UserAdminController
589 new app/controllers/user_admin_controller.rb /^ def new$/;" f class:UserAdminController
428 new app/controllers/users_controller.rb /^ def new$/;" f class:UsersController
590 new app/controllers/users_controller.rb /^ def new$/;" f class:UsersController
429 - new_from_form_params app/models/test_request.rb /^ def self.new_from_form_params(user,params)$/;" F class:TestRequest
591 + new_from_form_params app/models/test_request.rb /^ def self.new_from_form_params(user,params)$/;" S class:TestRequest
430 output_filename app/controllers/main_controller.rb /^ def output_filename(user_name, problem_name, submission_id, case_num)$/;" f class:MainController
592 output_filename app/controllers/main_controller.rb /^ def output_filename(user_name, problem_name, submission_id, case_num)$/;" f class:MainController
593 + password app/models/user.rb /^ attr_accessor :password$/;" A class:User
594 + password= app/models/user.rb /^ attr_accessor :password$/;" A class:User
431 password_required? app/models/user.rb /^ def password_required?$/;" f class:User
595 password_required? app/models/user.rb /^ def password_required?$/;" f class:User
432 - post test/load/visitor_curl_cli.rb /^ def post(url,params,options)$/;" f
596 + post test/load/visitor_curl_cli.rb /^ def post(url,params,options)$/;" f class:Visitor
433 - post test/load/visitor_curl_cli.rb /^ def self.post(url,params=nil,options=nil)$/;" F
597 + post test/load/visitor_curl_cli.rb /^ def self.post(url,params=nil,options=nil)$/;" S class:Visitor
434 prepare_announcements app/controllers/main_controller.rb /^ def prepare_announcements(recent=nil)$/;" f class:MainController
598 prepare_announcements app/controllers/main_controller.rb /^ def prepare_announcements(recent=nil)$/;" f class:MainController
435 prepare_grading_result app/controllers/main_controller.rb /^ def prepare_grading_result(submission)$/;" f class:MainController
599 prepare_grading_result app/controllers/main_controller.rb /^ def prepare_grading_result(submission)$/;" f class:MainController
436 prepare_index_information app/controllers/test_controller.rb /^ def prepare_index_information$/;" f class:TestController
600 prepare_index_information app/controllers/test_controller.rb /^ def prepare_index_information$/;" f class:TestController
437 prepare_list_information app/controllers/main_controller.rb /^ def prepare_list_information$/;" f class:MainController
601 prepare_list_information app/controllers/main_controller.rb /^ def prepare_list_information$/;" f class:MainController
438 - preprocess_param_hash test/load/visitor_curl_cli.rb /^ def self.preprocess_param_hash(params)$/;" F
602 + preprocess_param_hash test/load/visitor_curl_cli.rb /^ def self.preprocess_param_hash(params)$/;" S class:Visitor
439 - problem_hof app/controllers/report_controller.rb /^ def problem_hof$/;" f
603 + primary_and_foreign_key_types db/migrate/20220927070334_create_active_storage_tables.active_storage.rb /^ def primary_and_foreign_key_types$/;" f class:CreateActiveStorageTables
604 + problem_hof app/controllers/report_controller.rb /^ def problem_hof$/;" f class:ReportController
440 problem_in_user_contests? app/models/user.rb /^ def problem_in_user_contests?(problem)$/;" f class:User
605 problem_in_user_contests? app/models/user.rb /^ def problem_in_user_contests?(problem)$/;" f class:User
441 problem_name app/models/test_request.rb /^ def problem_name$/;" f class:TestRequest
606 problem_name app/models/test_request.rb /^ def problem_name$/;" f class:TestRequest
607 + problem_params app/controllers/problems_controller.rb /^ def problem_params$/;" f class:ProblemsController
442 process config/size_filter_handler.rb /^ def process(request, response)$/;" f class:SizeFilterHandler
608 process config/size_filter_handler.rb /^ def process(request, response)$/;" f class:SizeFilterHandler
443 - process_options test/load/visitor_curl_cli.rb /^ def self.process_options(options)$/;" F
609 + process_comment script/score_subtask.rb /^def process_comment(st)$/;" f
610 + process_options script/score_subtask.rb /^def process_options$/;" f
611 + process_options test/load/visitor_curl_cli.rb /^ def self.process_options(options)$/;" S class:Visitor
612 + process_query_record app/controllers/application_controller.rb /^ def process_query_record(record, $/;" f class:ApplicationController
613 + process_subtask script/score_subtask.rb /^def process_subtask(st)$/;" f
444 profile app/controllers/users_controller.rb /^ def profile$/;" f class:UsersController
614 profile app/controllers/users_controller.rb /^ def profile$/;" f class:UsersController
445 profile_authorization app/controllers/users_controller.rb /^ def profile_authorization$/;" f class:UsersController
615 profile_authorization app/controllers/users_controller.rb /^ def profile_authorization$/;" f class:UsersController
616 + published app/models/announcement.rb /^ def self.published(contest_started=false)$/;" S class:Announcement
446 quick_create app/controllers/problems_controller.rb /^ def quick_create$/;" f class:ProblemsController
617 quick_create app/controllers/problems_controller.rb /^ def quick_create$/;" f class:ProblemsController
447 - random_all_passwords app/controllers/user_admin_controller.rb /^ def random_all_passwords$/;" f
618 + random_all_passwords app/controllers/user_admin_controller.rb /^ def random_all_passwords$/;" f class:UserAdminController
448 - random_input_file_name app/models/test_request.rb /^ def self.random_input_file_name(user,problem)$/;" F class:TestRequest
619 + random_input_file_name app/models/test_request.rb /^ def self.random_input_file_name(user,problem)$/;" S class:TestRequest
449 - random_password app/controllers/user_admin_controller.rb /^ def random_password(length=5)$/;" f
620 + random_password app/controllers/user_admin_controller.rb /^ def random_password(length=5)$/;" f class:UserAdminController
450 - random_password app/models/user.rb /^ def self.random_password(length=5)$/;" F class:User
621 + random_password app/models/user.rb /^ def self.random_password(length=5)$/;" S class:User
451 - raw_dir lib/grader_script.rb /^ def self.raw_dir$/;" F class:GraderScript
622 + raw_dir lib/grader_script.rb /^ def self.raw_dir$/;" S module:GraderScript
452 read app/controllers/test_controller.rb /^ def read$/;" f class:TestController
623 read app/controllers/test_controller.rb /^ def read$/;" f class:TestController
453 - read_config app/models/grader_configuration.rb /^ def self.read_config$/;" F class:GraderConfiguration
624 + read_config app/models/grader_configuration.rb /^ def self.read_config$/;" S class:GraderConfiguration
454 - read_grading_info app/models/grader_configuration.rb /^ def self.read_grading_info$/;" F class:GraderConfiguration
625 + read_grading_info app/models/grader_configuration.rb /^ def self.read_grading_info$/;" S class:GraderConfiguration
455 read_grading_result app/controllers/main_controller.rb /^ def read_grading_result(user_name, problem_name, submission_id, case_num)$/;" f class:MainController
626 read_grading_result app/controllers/main_controller.rb /^ def read_grading_result(user_name, problem_name, submission_id, case_num)$/;" f class:MainController
456 - read_one_key app/models/grader_configuration.rb /^ def self.read_one_key(key)$/;" F class:GraderConfiguration
627 + read_one_key app/models/grader_configuration.rb /^ def self.read_one_key(key)$/;" S class:GraderConfiguration
457 - read_textfile app/helpers/application_helper.rb /^ def read_textfile(fname,max_size=2048)$/;" f class:ApplicationHelper
628 + read_textfile app/helpers/application_helper.rb /^ def read_textfile(fname,max_size=2048)$/;" f module:ApplicationHelper
458 register app/controllers/users_controller.rb /^ def register$/;" f class:UsersController
629 register app/controllers/users_controller.rb /^ def register$/;" f class:UsersController
459 - register app/models/grader_process.rb /^ def self.register(host,pid,mode)$/;" F class:GraderProcess
630 + register app/models/grader_process.rb /^ def self.register(host,pid,mode)$/;" S class:GraderProcess
460 reject_announcement_refresh_when_logged_out app/controllers/main_controller.rb /^ def reject_announcement_refresh_when_logged_out$/;" f class:MainController
631 reject_announcement_refresh_when_logged_out app/controllers/main_controller.rb /^ def reject_announcement_refresh_when_logged_out$/;" f class:MainController
632 + rejudge app/controllers/submissions_controller.rb /^ def rejudge$/;" f class:SubmissionsController
461 reload app/controllers/configurations_controller.rb /^ def reload$/;" f class:ConfigurationsController
633 reload app/controllers/configurations_controller.rb /^ def reload$/;" f class:ConfigurationsController
462 - reload app/models/grader_configuration.rb /^ def self.reload$/;" F class:GraderConfiguration
634 + reload app/models/grader_configuration.rb /^ def self.reload$/;" S class:GraderConfiguration
463 - remove_contest app/controllers/problems_controller.rb /^ def remove_contest$/;" f
635 + remove_all_problem app/controllers/groups_controller.rb /^ def remove_all_problem$/;" f class:GroupsController
464 - remove_from_contest app/controllers/user_admin_controller.rb /^ def remove_from_contest$/;" f
636 + remove_all_user app/controllers/groups_controller.rb /^ def remove_all_user$/;" f class:GroupsController
637 + remove_contest app/controllers/problems_controller.rb /^ def remove_contest$/;" f class:ProblemsController
638 + remove_from_contest app/controllers/user_admin_controller.rb /^ def remove_from_contest$/;" f class:UserAdminController
639 + remove_problem app/controllers/groups_controller.rb /^ def remove_problem$/;" f class:GroupsController
640 + remove_user app/controllers/groups_controller.rb /^ def remove_user$/;" f class:GroupsController
641 + replied_messages app/models/message.rb /^ attr_accessor :replied_messages$/;" A class:Message
642 + replied_messages= app/models/message.rb /^ attr_accessor :replied_messages$/;" A class:Message
465 reply app/controllers/messages_controller.rb /^ def reply$/;" f class:MessagesController
643 reply app/controllers/messages_controller.rb /^ def reply$/;" f class:MessagesController
466 report_active app/models/grader_process.rb /^ def report_active(task=nil)$/;" f class:GraderProcess
644 report_active app/models/grader_process.rb /^ def report_active(task=nil)$/;" f class:GraderProcess
467 report_inactive app/models/grader_process.rb /^ def report_inactive(task=nil)$/;" f class:GraderProcess
645 report_inactive app/models/grader_process.rb /^ def report_inactive(task=nil)$/;" f class:GraderProcess
468 request_begins config/size_filter_handler.rb /^ def request_begins(params)$/;" f class:SizeFilterHandler
646 request_begins config/size_filter_handler.rb /^ def request_begins(params)$/;" f class:SizeFilterHandler
469 reset_timer_and_save app/models/user_contest_stat.rb /^ def reset_timer_and_save$/;" f class:UserContestStat
647 reset_timer_and_save app/models/user_contest_stat.rb /^ def reset_timer_and_save$/;" f class:UserContestStat
470 - restart_test_server script/spec_server /^def restart_test_server$/;" f
471 result app/controllers/main_controller.rb /^ def result$/;" f class:MainController
648 result app/controllers/main_controller.rb /^ def result$/;" f class:MainController
472 result app/controllers/test_controller.rb /^ def result$/;" f class:TestController
649 result app/controllers/test_controller.rb /^ def result$/;" f class:TestController
473 retrieve_password app/controllers/users_controller.rb /^ def retrieve_password$/;" f class:UsersController
650 retrieve_password app/controllers/users_controller.rb /^ def retrieve_password$/;" f class:UsersController
474 - revoke_admin app/controllers/user_admin_controller.rb /^ def revoke_admin$/;" f
651 + role_authorization app/controllers/application_controller.rb /^ def role_authorization(roles)$/;" f class:ApplicationController
475 - run script/spec_server /^ def run(argv, stderr, stdout)$/;" f class:Spec.Runner.RailsSpecServer
652 + run test/load/visitor_curl_cli.rb /^ def run(times=nil, options={})$/;" f class:Visitor
476 - run test/load/visitor_curl_cli.rb /^ def run(times=nil, options={})$/;" f
477 runner test/load/runner.rb /^def runner(visitor_lists, load_time=60, options={})$/;" f
653 runner test/load/runner.rb /^def runner(visitor_lists, load_time=60, options={})$/;" f
478 - save_additional_file app/models/test_request.rb /^ def self.save_additional_file(tempfile,dir)$/;" F
654 + save_additional_file app/models/test_request.rb /^ def self.save_additional_file(tempfile,dir)$/;" S class:TestRequest
479 - save_input_file app/models/test_request.rb /^ def self.save_input_file(tempfile, user, problem)$/;" F class:TestRequest
655 + save_input_file app/models/test_request.rb /^ def self.save_input_file(tempfile, user, problem)$/;" S class:TestRequest
480 save_testdata_file lib/testdata_importer.rb /^ def save_testdata_file(tempfile)$/;" f class:TestdataImporter
656 save_testdata_file lib/testdata_importer.rb /^ def save_testdata_file(tempfile)$/;" f class:TestdataImporter
657 + score app/controllers/report_controller.rb /^ def score$/;" f class:ReportController
481 seed_config db/seeds.rb /^def seed_config$/;" f
658 seed_config db/seeds.rb /^def seed_config$/;" f
482 seed_more_languages db/seeds.rb /^def seed_more_languages$/;" f
659 seed_more_languages db/seeds.rb /^def seed_more_languages$/;" f
483 seed_roles db/seeds.rb /^def seed_roles$/;" f
660 seed_roles db/seeds.rb /^def seed_roles$/;" f
484 seed_root db/seeds.rb /^def seed_root$/;" f
661 seed_root db/seeds.rb /^def seed_root$/;" f
485 seed_users_and_roles db/seeds.rb /^def seed_users_and_roles$/;" f
662 seed_users_and_roles db/seeds.rb /^def seed_users_and_roles$/;" f
486 send_confirmation_email app/controllers/users_controller.rb /^ def send_confirmation_email(user)$/;" f class:UsersController
663 send_confirmation_email app/controllers/users_controller.rb /^ def send_confirmation_email(user)$/;" f class:UsersController
487 - send_contest_update_notification_email app/controllers/user_admin_controller.rb /^ def send_contest_update_notification_email(user, contest)$/;" f
664 + send_contest_update_notification_email app/controllers/user_admin_controller.rb /^ def send_contest_update_notification_email(user, contest)$/;" f class:UserAdminController
488 send_file_to_user app/controllers/tasks_controller.rb /^ def send_file_to_user(filename, base_filename)$/;" f class:TasksController
665 send_file_to_user app/controllers/tasks_controller.rb /^ def send_file_to_user(filename, base_filename)$/;" f class:TasksController
489 - send_mail lib/mail_helper_methods.rb /^ def send_mail(mail_to, mail_subject, mail_body)$/;" f class:MailHelperMethods
666 + send_mail lib/mail_helper_methods.rb /^ def send_mail(mail_to, mail_subject, mail_body)$/;" f module:MailHelperMethods
490 send_new_password_email app/controllers/users_controller.rb /^ def send_new_password_email(user)$/;" f class:UsersController
667 send_new_password_email app/controllers/users_controller.rb /^ def send_new_password_email(user)$/;" f class:UsersController
491 - set_contest_time_limit spec/config_spec_helper.rb /^ def set_contest_time_limit(limit)$/;" f class:ConfigSpecHelperMethods
668 + set_available app/controllers/problems_controller.rb /^ def set_available(avail)$/;" f class:ProblemsController
492 - set_indv_contest_mode spec/config_spec_helper.rb /^ def set_indv_contest_mode$/;" f class:ConfigSpecHelperMethods
669 + set_exam_right app/controllers/configurations_controller.rb /^ def set_exam_right$/;" f class:ConfigurationsController
493 - set_standard_mode spec/config_spec_helper.rb /^ def set_standard_mode$/;" f class:ConfigSpecHelperMethods
670 + set_group app/controllers/groups_controller.rb /^ def set_group$/;" f class:GroupsController
671 + set_message app/controllers/messages_controller.rb /^ def set_message$/;" f class:MessagesController
672 + set_submission app/controllers/submissions_controller.rb /^ def set_submission$/;" f class:SubmissionsController
673 + set_tag app/controllers/submissions_controller.rb /^ def set_tag$/;" f class:SubmissionsController
674 + set_tag app/controllers/tags_controller.rb /^ def set_tag$/;" f class:TagsController
675 + set_testcase app/controllers/testcases_controller.rb /^ def set_testcase$/;" f class:TestcasesController
494 setup test/functional/login_controller_test.rb /^ def setup$/;" f class:LoginControllerTest
676 setup test/functional/login_controller_test.rb /^ def setup$/;" f class:LoginControllerTest
495 setup test/functional/user_admin_controller_test.rb /^ def setup$/;" f class:UserAdminControllerTest
677 setup test/functional/user_admin_controller_test.rb /^ def setup$/;" f class:UserAdminControllerTest
496 show app/controllers/announcements_controller.rb /^ def show$/;" f class:AnnouncementsController
678 show app/controllers/announcements_controller.rb /^ def show$/;" f class:AnnouncementsController
497 show app/controllers/contests_controller.rb /^ def show$/;" f class:ContestsController
679 show app/controllers/contests_controller.rb /^ def show$/;" f class:ContestsController
680 + show app/controllers/groups_controller.rb /^ def show$/;" f class:GroupsController
498 show app/controllers/messages_controller.rb /^ def show$/;" f class:MessagesController
681 show app/controllers/messages_controller.rb /^ def show$/;" f class:MessagesController
499 show app/controllers/problems_controller.rb /^ def show$/;" f class:ProblemsController
682 show app/controllers/problems_controller.rb /^ def show$/;" f class:ProblemsController
500 show app/controllers/sites_controller.rb /^ def show$/;" f class:SitesController
683 show app/controllers/sites_controller.rb /^ def show$/;" f class:SitesController
684 + show app/controllers/submissions_controller.rb /^ def show$/;" f class:SubmissionsController
685 + show app/controllers/tags_controller.rb /^ def show$/;" f class:TagsController
501 show app/controllers/user_admin_controller.rb /^ def show$/;" f class:UserAdminController
686 show app/controllers/user_admin_controller.rb /^ def show$/;" f class:UserAdminController
502 - show_grading_result app/models/grader_configuration.rb /^ def self.show_grading_result$/;" F class:GraderConfiguration
687 + show_grading_result app/models/grader_configuration.rb /^ def self.show_grading_result$/;" S class:GraderConfiguration
503 - show_raw_stat test/load/visitor_curl_cli.rb /^ def show_raw_stat$/;" f
688 + show_max_score app/controllers/report_controller.rb /^ def show_max_score$/;" f class:ReportController
504 - show_submitbox_to app/models/grader_configuration.rb /^ def self.show_submitbox_to?(user)$/;" F class:GraderConfiguration
689 + show_problem app/controllers/testcases_controller.rb /^ def show_problem$/;" f class:TestcasesController
505 - show_tasks_to app/models/grader_configuration.rb /^ def self.show_tasks_to?(user)$/;" F class:GraderConfiguration
690 + show_raw_stat test/load/visitor_curl_cli.rb /^ def show_raw_stat$/;" f class:Visitor
691 + show_submitbox_to? app/models/grader_configuration.rb /^ def self.show_submitbox_to?(user)$/;" S class:GraderConfiguration
692 + show_tasks_to? app/models/grader_configuration.rb /^ def self.show_tasks_to?(user)$/;" S class:GraderConfiguration
693 + show_testcase app/models/grader_configuration.rb /^ def self.show_testcase$/;" S class:GraderConfiguration
506 show_usage test/load/runner.rb /^def show_usage$/;" f
694 show_usage test/load/runner.rb /^def show_usage$/;" f
695 + sign_in_as test/test_helper.rb /^ def sign_in_as(user,password)$/;" f module:SignInHelper
507 site_admin_authorization app/controllers/site_controller.rb /^ def site_admin_authorization$/;" f class:SiteController
696 site_admin_authorization app/controllers/site_controller.rb /^ def site_admin_authorization$/;" f class:SiteController
508 site_login app/controllers/login_controller.rb /^ def site_login$/;" f class:LoginController
697 site_login app/controllers/login_controller.rb /^ def site_login$/;" f class:LoginController
509 - site_url test/load/visitor_curl_cli.rb /^ def self.site_url(url)$/;" F
698 + site_params app/controllers/site_controller.rb /^ def site_params$/;" f class:SiteController
699 + site_params app/controllers/sites_controller.rb /^ def site_params$/;" f class:SitesController
700 + site_url test/load/visitor_curl_cli.rb /^ def self.site_url(url)$/;" S class:Visitor
701 + solve_all_available_problems? app/models/user.rb /^ def solve_all_available_problems?$/;" f class:User
510 source app/controllers/main_controller.rb /^ def source$/;" f class:MainController
702 source app/controllers/main_controller.rb /^ def source$/;" f class:MainController
511 - stalled_time app/models/grader_process.rb /^ def self.stalled_time()$/;" F class:GraderProcess
703 + stalled_time app/models/grader_process.rb /^ def self.stalled_time()$/;" S class:GraderProcess
512 - standard_mode app/models/grader_configuration.rb /^ def self.standard_mode?$/;" F class:GraderConfiguration
704 + standard_mode? app/models/grader_configuration.rb /^ def self.standard_mode?$/;" S class:GraderConfiguration
513 start app/controllers/site_controller.rb /^ def start$/;" f class:SiteController
705 start app/controllers/site_controller.rb /^ def start$/;" f class:SiteController
514 - start_exam app/controllers/graders_controller.rb /^ def start_exam$/;" f
706 + start_exam app/controllers/graders_controller.rb /^ def start_exam$/;" f class:GradersController
515 - start_grader lib/grader_script.rb /^ def self.start_grader(env)$/;" F class:GraderScript
707 + start_grader lib/grader_script.rb /^ def self.start_grader(env)$/;" S module:GraderScript
516 - start_grading app/controllers/graders_controller.rb /^ def start_grading$/;" f
708 + start_grading app/controllers/graders_controller.rb /^ def start_grading$/;" f class:GradersController
517 - stat app/controllers/problems_controller.rb /^ def stat$/;" f
709 + stat app/controllers/problems_controller.rb /^ def stat$/;" f class:ProblemsController
518 - statistics test/load/visitor_curl_cli.rb /^ def statistics$/;" f
710 + stat app/controllers/users_controller.rb /^ def stat$/;" f class:UsersController
711 + statistics test/load/visitor_curl_cli.rb /^ def statistics$/;" f class:Visitor
519 status_complete app/models/task.rb /^ def status_complete$/;" f class:Task
712 status_complete app/models/task.rb /^ def status_complete$/;" f class:Task
520 status_complete! app/models/task.rb /^ def status_complete!$/;" f class:Task
713 status_complete! app/models/task.rb /^ def status_complete!$/;" f class:Task
521 status_grading app/models/task.rb /^ def status_grading$/;" f class:Task
714 status_grading app/models/task.rb /^ def status_grading$/;" f class:Task
@@ -523,28 +716,32
523 status_inqueue app/models/task.rb /^ def status_inqueue$/;" f class:Task
716 status_inqueue app/models/task.rb /^ def status_inqueue$/;" f class:Task
524 status_inqueue! app/models/task.rb /^ def status_inqueue!$/;" f class:Task
717 status_inqueue! app/models/task.rb /^ def status_inqueue!$/;" f class:Task
525 status_str app/models/task.rb /^ def status_str$/;" f class:Task
718 status_str app/models/task.rb /^ def status_str$/;" f class:Task
526 - stop app/controllers/graders_controller.rb /^ def stop $/;" f
719 + stop app/controllers/graders_controller.rb /^ def stop $/;" f class:GradersController
527 - stop! test/load/visitor_curl_cli.rb /^ def stop!$/;" f
720 + stop! test/load/visitor_curl_cli.rb /^ def stop!$/;" f class:Visitor
528 - stop_all app/controllers/graders_controller.rb /^ def stop_all$/;" f
721 + stop_all app/controllers/graders_controller.rb /^ def stop_all$/;" f class:GradersController
529 - stop_grader lib/grader_script.rb /^ def self.stop_grader(pid)$/;" F class:GraderScript
722 + stop_grader lib/grader_script.rb /^ def self.stop_grader(pid)$/;" S module:GraderScript
530 - stop_graders lib/grader_script.rb /^ def self.stop_graders(pids)$/;" F class:GraderScript
723 + stop_graders lib/grader_script.rb /^ def self.stop_graders(pids)$/;" S module:GraderScript
531 - stores_cookies test/load/visitor_curl_cli.rb /^ def self.stores_cookies$/;" F
724 + stores_cookies test/load/visitor_curl_cli.rb /^ def self.stores_cookies$/;" S class:Visitor
532 - submission app/controllers/graders_controller.rb /^ def submission$/;" f class:GradersController
725 + stuck app/controllers/report_controller.rb /^ def stuck #report struggling user,problem$/;" f class:ReportController
533 - submission app/controllers/main_controller.rb /^ def submission$/;" f class:MainController
726 + submission app/controllers/report_controller.rb /^ def submission$/;" f class:ReportController
534 - submission_stat app/controllers/report_controller.rb /^ def submission_stat$/;" f class:ReportController
727 + submission_authorization app/controllers/submissions_controller.rb /^ def submission_authorization$/;" f class:SubmissionsController
728 + submission_query app/controllers/report_controller.rb /^ def submission_query$/;" f class:ReportController
535 submit app/controllers/main_controller.rb /^ def submit$/;" f class:MainController
729 submit app/controllers/main_controller.rb /^ def submit$/;" f class:MainController
536 submit app/controllers/test_controller.rb /^ def submit$/;" f class:TestController
730 submit app/controllers/test_controller.rb /^ def submit$/;" f class:TestController
537 - substitute_id test/load/visitor_curl_cli.rb /^ def substitute_id(st)$/;" f
731 + substitute_id test/load/visitor_curl_cli.rb /^ def substitute_id(st)$/;" f class:Visitor
732 + system! bin/setup /^def system!(*args)$/;" f
733 + system! bin/update /^def system!(*args)$/;" f
734 + tag_params app/controllers/tags_controller.rb /^ def tag_params$/;" f class:TagsController
538 take_wait_return test/concurrent/task_test_get.rb /^def take_wait_return$/;" f
735 take_wait_return test/concurrent/task_test_get.rb /^def take_wait_return$/;" f
736 + talkative test/load/visitor_curl_cli.rb /^ attr_accessor :talkative$/;" A class:Visitor
737 + talkative= test/load/visitor_curl_cli.rb /^ attr_accessor :talkative$/;" A class:Visitor
539 task app/controllers/graders_controller.rb /^ def task$/;" f class:GradersController
738 task app/controllers/graders_controller.rb /^ def task$/;" f class:GradersController
540 - task_grading_info app/models/grader_configuration.rb /^ def self.task_grading_info$/;" F class:GraderConfiguration
739 + task_grading_info app/models/grader_configuration.rb /^ def self.task_grading_info$/;" S class:GraderConfiguration
541 terminate app/models/grader_process.rb /^ def terminate$/;" f class:GraderProcess
740 terminate app/models/grader_process.rb /^ def terminate$/;" f class:GraderProcess
542 test_create_with_correct_confirmation_password test/functional/user_admin_controller_test.rb /^ def test_create_with_correct_confirmation_password$/;" f class:UserAdminControllerTest
741 test_create_with_correct_confirmation_password test/functional/user_admin_controller_test.rb /^ def test_create_with_correct_confirmation_password$/;" f class:UserAdminControllerTest
543 test_create_with_wrong_confirmation_password test/functional/user_admin_controller_test.rb /^ def test_create_with_wrong_confirmation_password$/;" f class:UserAdminControllerTest
742 test_create_with_wrong_confirmation_password test/functional/user_admin_controller_test.rb /^ def test_create_with_wrong_confirmation_password$/;" f class:UserAdminControllerTest
544 test_destroy test/functional/user_admin_controller_test.rb /^ def test_destroy$/;" f class:UserAdminControllerTest
743 test_destroy test/functional/user_admin_controller_test.rb /^ def test_destroy$/;" f class:UserAdminControllerTest
545 test_edit test/functional/user_admin_controller_test.rb /^ def test_edit$/;" f class:UserAdminControllerTest
744 test_edit test/functional/user_admin_controller_test.rb /^ def test_edit$/;" f class:UserAdminControllerTest
546 - test_get_inqueue_simple test/unit/task_test.rb /^ def test_get_inqueue_simple$/;" f class:TaskTest
547 - test_homepage test/performance/browsing_test.rb /^ def test_homepage$/;" f class:BrowsingTest
548 test_index test/functional/user_admin_controller_test.rb /^ def test_index$/;" f class:UserAdminControllerTest
745 test_index test/functional/user_admin_controller_test.rb /^ def test_index$/;" f class:UserAdminControllerTest
549 test_list test/functional/user_admin_controller_test.rb /^ def test_list$/;" f class:UserAdminControllerTest
746 test_list test/functional/user_admin_controller_test.rb /^ def test_list$/;" f class:UserAdminControllerTest
550 test_new test/functional/user_admin_controller_test.rb /^ def test_new$/;" f class:UserAdminControllerTest
747 test_new test/functional/user_admin_controller_test.rb /^ def test_new$/;" f class:UserAdminControllerTest
@@ -559,95 +756,105
559 test_should_not_allow_normal_user_to_see test/functional/user_admin_controller_test.rb /^ def test_should_not_allow_normal_user_to_see$/;" f class:UserAdminControllerTest
756 test_should_not_allow_normal_user_to_see test/functional/user_admin_controller_test.rb /^ def test_should_not_allow_normal_user_to_see$/;" f class:UserAdminControllerTest
560 test_should_reject_user_with_wrong_password test/functional/login_controller_test.rb /^ def test_should_reject_user_with_wrong_password$/;" f class:LoginControllerTest
757 test_should_reject_user_with_wrong_password test/functional/login_controller_test.rb /^ def test_should_reject_user_with_wrong_password$/;" f class:LoginControllerTest
561 test_show test/functional/user_admin_controller_test.rb /^ def test_show$/;" f class:UserAdminControllerTest
758 test_show test/functional/user_admin_controller_test.rb /^ def test_show$/;" f class:UserAdminControllerTest
562 - test_truth test/unit/announcement_test.rb /^ def test_truth$/;" f class:AnnouncementTest
563 - test_truth test/unit/configuration_test.rb /^ def test_truth$/;" f class:ConfigurationTest
564 - test_truth test/unit/country_test.rb /^ def test_truth$/;" f class:CountryTest
565 - test_truth test/unit/description_test.rb /^ def test_truth$/;" f class:DescriptionTest
566 - test_truth test/unit/grader_process_test.rb /^ def test_truth$/;" f class:GraderProcessTest
567 - test_truth test/unit/language_test.rb /^ def test_truth$/;" f class:LanguageTest
568 - test_truth test/unit/message_test.rb /^ def test_truth$/;" f class:MessageTest
569 - test_truth test/unit/problem_test.rb /^ def test_truth$/;" f class:ProblemTest
570 - test_truth test/unit/right_test.rb /^ def test_truth$/;" f class:RightTest
571 - test_truth test/unit/role_test.rb /^ def test_truth$/;" f class:RoleTest
572 - test_truth test/unit/site_test.rb /^ def test_truth$/;" f class:SiteTest
573 - test_truth test/unit/submission_test.rb /^ def test_truth$/;" f class:SubmissionTest
574 - test_truth test/unit/test_request_test.rb /^ def test_truth$/;" f class:TestRequestTest
575 - test_truth test/unit/user_test.rb /^ def test_truth$/;" f class:UserTest
576 test_update test/functional/user_admin_controller_test.rb /^ def test_update$/;" f class:UserAdminControllerTest
759 test_update test/functional/user_admin_controller_test.rb /^ def test_update$/;" f class:UserAdminControllerTest
760 + testcase_authorization app/controllers/application_controller.rb /^ def testcase_authorization$/;" f class:ApplicationController
761 + testcase_params app/controllers/testcases_controller.rb /^ def testcase_params$/;" f class:TestcasesController
577 time_left app/models/site.rb /^ def time_left$/;" f class:Site
762 time_left app/models/site.rb /^ def time_left$/;" f class:Site
578 - time_limit_mode app/models/grader_configuration.rb /^ def self.time_limit_mode?$/;" F class:GraderConfiguration
763 + time_limit_mode? app/models/grader_configuration.rb /^ def self.time_limit_mode?$/;" S class:GraderConfiguration
579 - to_f_or_default app/models/problem.rb /^ def self.to_f_or_default(st, default)$/;" F class:Problem
764 + to_f_or_default app/models/problem.rb /^ def self.to_f_or_default(st, default)$/;" S class:Problem
580 - to_i_or_default app/models/problem.rb /^ def self.to_i_or_default(st, default)$/;" F class:Problem
765 + to_i_or_default app/models/problem.rb /^ def self.to_i_or_default(st, default)$/;" S class:Problem
766 + toggle app/controllers/announcements_controller.rb /^ def toggle$/;" f class:AnnouncementsController
767 + toggle app/controllers/groups_controller.rb /^ def toggle$/;" f class:GroupsController
581 toggle app/controllers/problems_controller.rb /^ def toggle$/;" f class:ProblemsController
768 toggle app/controllers/problems_controller.rb /^ def toggle$/;" f class:ProblemsController
769 + toggle_activate app/controllers/users_controller.rb /^ def toggle_activate$/;" f class:UsersController
770 + toggle_button app/helpers/application_helper.rb /^ def toggle_button(on,toggle_url,id, option={})$/;" f module:ApplicationHelper
771 + toggle_enable app/controllers/users_controller.rb /^ def toggle_enable$/;" f class:UsersController
772 + toggle_front app/controllers/announcements_controller.rb /^ def toggle_front$/;" f class:AnnouncementsController
773 + toggle_test app/controllers/problems_controller.rb /^ def toggle_test$/;" f class:ProblemsController
774 + toggle_view_testcase app/controllers/problems_controller.rb /^ def toggle_view_testcase$/;" f class:ProblemsController
582 turn_all_off app/controllers/problems_controller.rb /^ def turn_all_off$/;" f class:ProblemsController
775 turn_all_off app/controllers/problems_controller.rb /^ def turn_all_off$/;" f class:ProblemsController
583 - turn_all_on app/controllers/problems_controller.rb /^ def turn_all_on$/;" f
776 + turn_all_on app/controllers/problems_controller.rb /^ def turn_all_on$/;" f class:ProblemsController
777 + unauthorized_redirect app/controllers/application_controller.rb /^ def unauthorized_redirect(notice = 'You are not authorized to view the page you requested')$/;" f class:ApplicationController
778 + unique_visitor_id app/controllers/application_controller.rb /^ def unique_visitor_id$/;" f class:ApplicationController
584 uniqueness_of_email_from_activated_users app/models/user.rb /^ def uniqueness_of_email_from_activated_users$/;" f class:User
779 uniqueness_of_email_from_activated_users app/models/user.rb /^ def uniqueness_of_email_from_activated_users$/;" f class:User
585 - up db/migrate/001_create_users.rb /^ def self.up$/;" F class:CreateUsers
780 + up db/migrate/001_create_users.rb /^ def self.up$/;" S class:CreateUsers
586 - up db/migrate/002_create_problems.rb /^ def self.up$/;" F class:CreateProblems
781 + up db/migrate/002_create_problems.rb /^ def self.up$/;" S class:CreateProblems
587 - up db/migrate/003_create_submissions.rb /^ def self.up$/;" F class:CreateSubmissions
782 + up db/migrate/003_create_submissions.rb /^ def self.up$/;" S class:CreateSubmissions
588 - up db/migrate/004_create_languages.rb /^ def self.up$/;" F class:CreateLanguages
783 + up db/migrate/004_create_languages.rb /^ def self.up$/;" S class:CreateLanguages
589 - up db/migrate/005_add_index_to_submissions.rb /^ def self.up$/;" F class:AddIndexToSubmissions
784 + up db/migrate/005_add_index_to_submissions.rb /^ def self.up$/;" S class:AddIndexToSubmissions
590 - up db/migrate/006_create_roles.rb /^ def self.up$/;" F class:CreateRoles
785 + up db/migrate/006_create_roles.rb /^ def self.up$/;" S class:CreateRoles
591 - up db/migrate/007_create_rights.rb /^ def self.up$/;" F class:CreateRights
786 + up db/migrate/007_create_rights.rb /^ def self.up$/;" S class:CreateRights
592 - up db/migrate/008_create_tasks.rb /^ def self.up$/;" F class:CreateTasks
787 + up db/migrate/008_create_tasks.rb /^ def self.up$/;" S class:CreateTasks
593 - up db/migrate/009_add_sessions.rb /^ def self.up$/;" F class:AddSessions
788 + up db/migrate/009_add_sessions.rb /^ def self.up$/;" S class:AddSessions
594 - up db/migrate/011_add_language_ext.rb /^ def self.up$/;" F class:AddLanguageExt
789 + up db/migrate/011_add_language_ext.rb /^ def self.up$/;" S class:AddLanguageExt
595 - up db/migrate/012_add_email_to_users.rb /^ def self.up$/;" F class:AddEmailToUsers
790 + up db/migrate/012_add_email_to_users.rb /^ def self.up$/;" S class:AddEmailToUsers
596 - up db/migrate/013_add_url_to_problem.rb /^ def self.up$/;" F class:AddUrlToProblem
791 + up db/migrate/013_add_url_to_problem.rb /^ def self.up$/;" S class:AddUrlToProblem
597 - up db/migrate/014_create_grader_processes.rb /^ def self.up$/;" F class:CreateGraderProcesses
792 + up db/migrate/014_create_grader_processes.rb /^ def self.up$/;" S class:CreateGraderProcesses
598 - up db/migrate/015_add_status_to_tasks.rb /^ def self.up$/;" F class:AddStatusToTasks
793 + up db/migrate/015_add_status_to_tasks.rb /^ def self.up$/;" S class:AddStatusToTasks
599 - up db/migrate/016_add_task_to_grader_process.rb /^ def self.up$/;" F class:AddTaskToGraderProcess
794 + up db/migrate/016_add_task_to_grader_process.rb /^ def self.up$/;" S class:AddTaskToGraderProcess
600 - up db/migrate/017_rename_grader_process_column_ip_to_host.rb /^ def self.up$/;" F class:RenameGraderProcessColumnIpToHost
795 + up db/migrate/017_rename_grader_process_column_ip_to_host.rb /^ def self.up$/;" S class:RenameGraderProcessColumnIpToHost
601 - up db/migrate/018_add_number_to_submissions.rb /^ def self.up$/;" F class:AddNumberToSubmissions
796 + up db/migrate/018_add_number_to_submissions.rb /^ def self.up$/;" S class:AddNumberToSubmissions
602 - up db/migrate/019_create_test_requests.rb /^ def self.up$/;" F class:CreateTestRequests
797 + up db/migrate/019_create_test_requests.rb /^ def self.up$/;" S class:CreateTestRequests
603 - up db/migrate/021_change_compiler_message_type_test_request.rb /^ def self.up$/;" F class:ChangeCompilerMessageTypeTestRequest
798 + up db/migrate/021_change_compiler_message_type_test_request.rb /^ def self.up$/;" S class:ChangeCompilerMessageTypeTestRequest
604 - up db/migrate/022_create_configurations.rb /^ def self.up$/;" F class:CreateConfigurations
799 + up db/migrate/022_create_configurations.rb /^ def self.up$/;" S class:CreateConfigurations
605 - up db/migrate/023_add_runstat_columns_to_test_request.rb /^ def self.up$/;" F class:AddRunstatColumnsToTestRequest
800 + up db/migrate/023_add_runstat_columns_to_test_request.rb /^ def self.up$/;" S class:AddRunstatColumnsToTestRequest
606 - up db/migrate/024_create_sites.rb /^ def self.up$/;" F class:CreateSites
801 + up db/migrate/024_create_sites.rb /^ def self.up$/;" S class:CreateSites
607 - up db/migrate/025_add_site_to_user_and_add_default_site.rb /^ def self.up$/;" F class:AddSiteToUserAndAddDefaultSite
802 + up db/migrate/025_add_site_to_user_and_add_default_site.rb /^ def self.up$/;" S class:AddSiteToUserAndAddDefaultSite
608 - up db/migrate/026_add_body_to_problems.rb /^ def self.up$/;" F class:AddBodyToProblems
803 + up db/migrate/026_add_body_to_problems.rb /^ def self.up$/;" S class:AddBodyToProblems
609 - up db/migrate/027_create_descriptions.rb /^ def self.up$/;" F class:CreateDescriptions
804 + up db/migrate/027_create_descriptions.rb /^ def self.up$/;" S class:CreateDescriptions
610 - up db/migrate/028_refactor_problem_body_to_description.rb /^ def self.up$/;" F class:RefactorProblemBodyToDescription
805 + up db/migrate/028_refactor_problem_body_to_description.rb /^ def self.up$/;" S class:RefactorProblemBodyToDescription
611 - up db/migrate/029_add_test_allowed_to_problems.rb /^ def self.up$/;" F class:AddTestAllowedToProblems
806 + up db/migrate/029_add_test_allowed_to_problems.rb /^ def self.up$/;" S class:AddTestAllowedToProblems
612 - up db/migrate/030_create_announcements.rb /^ def self.up$/;" F class:CreateAnnouncements
807 + up db/migrate/030_create_announcements.rb /^ def self.up$/;" S class:CreateAnnouncements
613 - up db/migrate/031_add_supports_for_output_only_problems.rb /^ def self.up$/;" F class:AddSupportsForOutputOnlyProblems
808 + up db/migrate/031_add_supports_for_output_only_problems.rb /^ def self.up$/;" S class:AddSupportsForOutputOnlyProblems
614 - up db/migrate/032_create_messages.rb /^ def self.up$/;" F class:CreateMessages
809 + up db/migrate/032_create_messages.rb /^ def self.up$/;" S class:CreateMessages
615 - up db/migrate/033_add_task_type_to_grader_processes.rb /^ def self.up$/;" F class:AddTaskTypeToGraderProcesses
810 + up db/migrate/033_add_task_type_to_grader_processes.rb /^ def self.up$/;" S class:AddTaskTypeToGraderProcesses
616 - up db/migrate/034_create_countries.rb /^ def self.up$/;" F class:CreateCountries
811 + up db/migrate/034_create_countries.rb /^ def self.up$/;" S class:CreateCountries
617 - up db/migrate/035_add_country_to_sites_and_users.rb /^ def self.up$/;" F class:AddCountryToSitesAndUsers
812 + up db/migrate/035_add_country_to_sites_and_users.rb /^ def self.up$/;" S class:AddCountryToSitesAndUsers
618 - up db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb /^ def self.up$/;" F class:AddFrontpageFlagToAnnouncement
813 + up db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb /^ def self.up$/;" S class:AddFrontpageFlagToAnnouncement
619 - up db/migrate/20081204122651_add_activated_to_users.rb /^ def self.up$/;" F class:AddActivatedToUsers
814 + up db/migrate/20081204122651_add_activated_to_users.rb /^ def self.up$/;" S class:AddActivatedToUsers
620 - up db/migrate/20081210021333_add_timestamps_to_users.rb /^ def self.up$/;" F class:AddTimestampsToUsers
815 + up db/migrate/20081210021333_add_timestamps_to_users.rb /^ def self.up$/;" S class:AddTimestampsToUsers
621 - up db/migrate/20081215012843_change_user_login_string_limit.rb /^ def self.up$/;" F class:ChangeUserLoginStringLimit
816 + up db/migrate/20081215012843_change_user_login_string_limit.rb /^ def self.up$/;" S class:ChangeUserLoginStringLimit
622 - up db/migrate/20090206145016_add_contest_flag_to_announcements.rb /^ def self.up$/;" F class:AddContestFlagToAnnouncements
817 + up db/migrate/20090206145016_add_contest_flag_to_announcements.rb /^ def self.up$/;" S class:AddContestFlagToAnnouncements
623 - up db/migrate/20090416235658_add_common_ext_to_languages.rb /^ def self.up$/;" F class:AddCommonExtToLanguages
818 + up db/migrate/20090416235658_add_common_ext_to_languages.rb /^ def self.up$/;" S class:AddCommonExtToLanguages
624 - up db/migrate/20090426131044_add_terminated_to_grader_processes.rb /^ def self.up$/;" F class:AddTerminatedToGraderProcesses
819 + up db/migrate/20090426131044_add_terminated_to_grader_processes.rb /^ def self.up$/;" S class:AddTerminatedToGraderProcesses
625 - up db/migrate/20090815171610_add_title_to_announcements.rb /^ def self.up$/;" F class:AddTitleToAnnouncements
820 + up db/migrate/20090815171610_add_title_to_announcements.rb /^ def self.up$/;" S class:AddTitleToAnnouncements
626 - up db/migrate/20100113094740_create_test_pairs.rb /^ def self.up$/;" F class:CreateTestPairs
821 + up db/migrate/20100113094740_create_test_pairs.rb /^ def self.up$/;" S class:CreateTestPairs
627 - up db/migrate/20100124040107_add_description_to_config.rb /^ def self.up$/;" F class:AddDescriptionToConfig
822 + up db/migrate/20100124040107_add_description_to_config.rb /^ def self.up$/;" S class:AddDescriptionToConfig
628 - up db/migrate/20100124054458_create_user_contest_stats.rb /^ def self.up$/;" F class:CreateUserContestStats
823 + up db/migrate/20100124054458_create_user_contest_stats.rb /^ def self.up$/;" S class:CreateUserContestStats
629 - up db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb /^ def self.up$/;" F class:ChangeInputSolutionFieldLimitInTestPair
824 + up db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb /^ def self.up$/;" S class:ChangeInputSolutionFieldLimitInTestPair
630 - up db/migrate/20100216105730_create_contests.rb /^ def self.up$/;" F class:CreateContests
825 + up db/migrate/20100216105730_create_contests.rb /^ def self.up$/;" S class:CreateContests
631 - up db/migrate/20100216162324_create_contests_users_join_table.rb /^ def self.up$/;" F class:CreateContestsUsersJoinTable
826 + up db/migrate/20100216162324_create_contests_users_join_table.rb /^ def self.up$/;" S class:CreateContestsUsersJoinTable
632 - up db/migrate/20100216162940_create_contests_problems_join_table.rb /^ def self.up$/;" F class:CreateContestsProblemsJoinTable
827 + up db/migrate/20100216162940_create_contests_problems_join_table.rb /^ def self.up$/;" S class:CreateContestsProblemsJoinTable
633 - up db/migrate/20100219014840_add_description_filename_to_problems.rb /^ def self.up$/;" F class:AddDescriptionFilenameToProblems
828 + up db/migrate/20100219014840_add_description_filename_to_problems.rb /^ def self.up$/;" S class:AddDescriptionFilenameToProblems
634 - up db/migrate/20100303095700_add_name_to_contests.rb /^ def self.up$/;" F class:AddNameToContests
829 + up db/migrate/20100303095700_add_name_to_contests.rb /^ def self.up$/;" S class:AddNameToContests
635 - up db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb /^ def self.up$/;" F class:AddForcedLogoutToUserContestStat
830 + up db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb /^ def self.up$/;" S class:AddForcedLogoutToUserContestStat
636 - up db/migrate/20100506163112_add_notes_to_announcements.rb /^ def self.up$/;" F class:AddNotesToAnnouncements
831 + up db/migrate/20100506163112_add_notes_to_announcements.rb /^ def self.up$/;" S class:AddNotesToAnnouncements
832 + up db/migrate/20150503164846_change_userid_on_login.rb /^ def up$/;" f class:ChangeUseridOnLogin
833 + up db/migrate/20150914223258_add_more_config.rb /^ def up$/;" f class:AddMoreConfig
834 + up db/migrate/20150916054105_update_heart_beat.rb /^ def up$/;" f class:UpdateHeartBeat
835 + up db/migrate/20161008050135_modify_grader_process.rb /^ def up$/;" f class:ModifyGraderProcess
836 + up db/migrate/20161031063337_add_config_view_test.rb /^ def up$/;" f class:AddConfigViewTest
837 + up db/migrate/20170427070345_add_heart_beat_full.rb /^ def up$/;" f class:AddHeartBeatFull
637 update app/controllers/announcements_controller.rb /^ def update$/;" f class:AnnouncementsController
838 update app/controllers/announcements_controller.rb /^ def update$/;" f class:AnnouncementsController
839 + update app/controllers/configurations_controller.rb /^ def update$/;" f class:ConfigurationsController
638 update app/controllers/contests_controller.rb /^ def update$/;" f class:ContestsController
840 update app/controllers/contests_controller.rb /^ def update$/;" f class:ContestsController
841 + update app/controllers/groups_controller.rb /^ def update$/;" f class:GroupsController
639 update app/controllers/problems_controller.rb /^ def update$/;" f class:ProblemsController
842 update app/controllers/problems_controller.rb /^ def update$/;" f class:ProblemsController
640 update app/controllers/sites_controller.rb /^ def update$/;" f class:SitesController
843 update app/controllers/sites_controller.rb /^ def update$/;" f class:SitesController
641 - update app/controllers/user_admin_controller.rb /^ def update$/;" f
844 + update app/controllers/tags_controller.rb /^ def update$/;" f class:TagsController
845 + update app/controllers/user_admin_controller.rb /^ def update$/;" f class:UserAdminController
642 update_start_time app/models/user.rb /^ def update_start_time$/;" f class:User
846 update_start_time app/models/user.rb /^ def update_start_time$/;" f class:User
643 - user_header app/helpers/application_helper.rb /^ def user_header$/;" f class:ApplicationHelper
847 + use_problem_group? app/models/grader_configuration.rb /^ def self.use_problem_group?$/;" S class:GraderConfiguration
848 + user_header app/helpers/application_helper.rb /^ def user_header$/;" f module:ApplicationHelper
849 + user_params app/controllers/user_admin_controller.rb /^ def user_params$/;" f class:UserAdminController
850 + user_params app/controllers/users_controller.rb /^ def user_params$/;" f class:UsersController
644 user_stat app/controllers/contest_management_controller.rb /^ def user_stat$/;" f class:ContestManagementController
851 user_stat app/controllers/contest_management_controller.rb /^ def user_stat$/;" f class:ContestManagementController
645 - user_stat app/controllers/user_admin_controller.rb /^ def user_stat$/;" f
852 + user_stat app/controllers/user_admin_controller.rb /^ def user_stat$/;" f class:UserAdminController
646 - user_stat_max app/controllers/user_admin_controller.rb /^ def user_stat_max$/;" f
853 + user_stat_max app/controllers/user_admin_controller.rb /^ def user_stat_max$/;" f class:UserAdminController
647 - user_title_bar app/helpers/application_helper.rb /^ def user_title_bar(user)$/;" f class:ApplicationHelper
854 + user_title_bar app/helpers/application_helper.rb /^ def user_title_bar(user)$/;" f module:ApplicationHelper
648 - valid? db/migrate/025_add_site_to_user_and_add_default_site.rb /^ def valid?$/;" f class:AddSiteToUserAndAddDefaultSite.up
855 + valid? db/migrate/025_add_site_to_user_and_add_default_site.rb /^ def valid?$/;" f singletonMethod:AddSiteToUserAndAddDefaultSite.up
649 - valid? db/migrate/20081204122651_add_activated_to_users.rb /^ def valid?$/;" f class:AddActivatedToUsers.up
856 + valid? db/migrate/20081204122651_add_activated_to_users.rb /^ def valid?$/;" f singletonMethod:AddActivatedToUsers.up
650 - valid? db/seeds.rb /^ def valid?(context=nil)$/;" f class:seed_root
857 + valid? db/seeds.rb /^ def valid?(context=nil)$/;" f method:seed_root
651 verify_activation_key app/models/user.rb /^ def verify_activation_key(key)$/;" f class:User
858 verify_activation_key app/models/user.rb /^ def verify_activation_key(key)$/;" f class:User
652 verify_online_registration app/controllers/users_controller.rb /^ def verify_online_registration$/;" f class:UsersController
859 verify_online_registration app/controllers/users_controller.rb /^ def verify_online_registration$/;" f class:UsersController
653 verify_time_limit app/controllers/application_controller.rb /^ def verify_time_limit$/;" f class:ApplicationController
860 verify_time_limit app/controllers/application_controller.rb /^ def verify_time_limit$/;" f class:ApplicationController
@@ -1,8 +0,0
1 - <h1>New problem</h1>
2 -
3 - <%= form_tag :action => 'create' do %>
4 - <%= render :partial => 'form' %>
5 - <%= submit_tag "Create" %>
6 - <% end %>
7 -
8 - <%= link_to 'Back', problems_path %>
You need to be logged in to leave comments. Login now