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: 1102 inserted, 829 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.'
82 + @problem.save
87 - out_dirname = "#{Problem.download_file_basedir}/#{@problem.id}"
83 + redirect_to edit_problem_path(@problem)
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
102 - end
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
218 + end
219 + return class_name if ok && options.size > 0
220 + return ''
221 + end
222 +
212 end
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,55 +1,78
1 - = error_messages_for 'problem'
1 + = simple_form_for problem do |form|
2 - / [form:problem]
2 + .row
3 - .form-group
3 + .col-md-6
4 - %label{:for => "problem_name"} Name
4 + = form.input :name
5 - = text_field 'problem', 'name', class: 'form-control'
5 + = form.input :full_name
6 - %small
6 + = form.input :full_score
7 - Do not directly edit the problem name, unless you know what you are doing. If you want to change the name, use the name change button in the problem management menu instead.
7 + = form.input :tag_ids, collection: Tag.all, class: 'select2'
8 - .form-group
8 + = form.input :date_added
9 - %label{:for => "problem_full_name"} Full name
9 + = form.input :available
10 - = text_field 'problem', 'full_name', class: 'form-control'
10 + = form.input :test_allowed
11 - .form-group
11 + = form.input :output_only
12 - %label{:for => "problem_full_score"} Full score
12 + = form.input :description, as: :text
13 - = text_field 'problem', 'full_score', class: 'form-control'
13 + = form.input :markdown
14 - .form-group
14 + = form.input :url
15 - %label{:for => "problem_full_score"} Tags
15 + = form.input :statement
16 - = collection_select(:problem, :tag_ids, Tag.all, :id, :name, {}, {multiple: true, class: 'form-control select2'})
16 + %p
17 - .form-group
17 + - if @problem.statement.attached?
18 - %label{:for => "problem_date_added"} Date added
18 + %a{href: get_statement_problem_path(@problem)} [Download current Statement]
19 - = date_select 'problem', 'date_added', class: 'form-control'
19 + - else
20 - - # TODO: these should be put in model Problem, but I can't think of
20 + no statement attached to this problem
21 - - # nice default values for them. These values look fine only
21 + = form.submit :submit, class: 'btn btn-primary'
22 - - # in this case (of lazily adding new problems).
22 + -#
23 - - @problem.available = true if @problem!=nil and @problem.available==nil
23 + = error_messages_for 'problem'
24 - - @problem.test_allowed = true if @problem!=nil and @problem.test_allowed==nil
24 +
25 - - @problem.output_only = false if @problem!=nil and @problem.output_only==nil
25 + / [form:problem]
26 - .checkbox
26 + .form-group
27 - %label{:for => "problem_available"}
27 + %label{:for => "problem_name"} Name
28 - = check_box :problem, :available
28 + = text_field 'problem', 'name', class: 'form-control'
29 - Available?
29 + %small
30 - .checkbox
30 + Do not directly edit the problem name, unless you know what you are doing. If you want to change the name, use the name change button in the problem management menu instead.
31 - %label{:for => "problem_test_allowed"}
31 + .form-group
32 - = check_box :problem, :test_allowed
32 + %label{:for => "problem_full_name"} Full name
33 - Test allowed?
33 + = text_field 'problem', 'full_name', class: 'form-control'
34 - .checkbox
34 + .form-group
35 - %label{:for => "problem_output_only"}
35 + %label{:for => "problem_full_score"} Full score
36 - = check_box :problem, :output_only
36 + = text_field 'problem', 'full_score', class: 'form-control'
37 - Output only?
37 + .form-group
38 - = error_messages_for 'description'
38 + %label{:for => "problem_full_score"} Tags
39 - .form-group
39 + = collection_select(:problem, :tag_ids, Tag.all, :id, :name, {}, {multiple: true, class: 'form-control select2'})
40 - %label{:for => "description_body"} Description
40 + .form-group
41 - %br/
41 + %label{:for => "problem_date_added"} Date added
42 - = text_area :description, :body, :rows => 10, :cols => 80,class: 'form-control'
42 + = date_select 'problem', 'date_added', class: 'form-control'
43 - .form-group
43 + - # TODO: these should be put in model Problem, but I can't think of
44 - %label{:for => "description_markdowned"} Markdowned?
44 + - # nice default values for them. These values look fine only
45 - = select "description", |
45 + - # in this case (of lazily adding new problems).
46 - "markdowned", |
46 + - @problem.available = true if @problem!=nil and @problem.available==nil
47 - [['True',true],['False',false]], |
47 + - @problem.test_allowed = true if @problem!=nil and @problem.test_allowed==nil
48 - {:selected => (@description) ? @description.markdowned : false } |
48 + - @problem.output_only = false if @problem!=nil and @problem.output_only==nil
49 - .form-group
49 + .checkbox
50 - %label{:for => "problem_url"} URL
50 + %label{:for => "problem_available"}
51 - %br/
51 + = check_box :problem, :available
52 - = text_field 'problem', 'url',class: 'form-control'
52 + Available?
53 - %p
53 + .checkbox
54 - Task PDF #{file_field_tag 'file'}
54 + %label{:for => "problem_test_allowed"}
55 - / [eoform:problem]
55 + = check_box :problem, :test_allowed
56 + Test allowed?
57 + .checkbox
58 + %label{:for => "problem_output_only"}
59 + = check_box :problem, :output_only
60 + Output only?
61 + = error_messages_for 'description'
62 + .form-group
63 + %label{:for => "description_body"} Description
64 + %br/
65 + = text_area :description, :body, :rows => 10, :cols => 80,class: 'form-control'
66 + .form-group
67 + %label{:for => "description_markdowned"} Markdowned?
68 + = select "description", |
69 + "markdowned", |
70 + [['True',true],['False',false]], |
71 + {:selected => (@description) ? @description.markdowned : false } |
72 + .form-group
73 + %label{:for => "problem_url"} URL
74 + %br/
75 + = text_field 'problem', 'url',class: 'form-control'
76 + %p
77 + Task PDF #{file_field_tag 'file'}
78 + / [eoform:problem]
@@ -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
5 + .col-md-4
6 - = render :partial => 'form'
6 + = link_to 'Back', problems_path, class: 'btn btn-secondary'
7 - .row
8 - .col-md-4
9 - = submit_tag 'Edit', class: 'btn btn-primary btn-block'
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
303 end
336 - b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
337 - 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, (991 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
190 - build_replying_message_hierarchy app/controllers/messages_controller.rb /^ def build_replying_message_hierarchy(user)$/;" f class:MessagesController
271 + available_problems_in_group app/models/user.rb /^ def available_problems_in_group$/;" f class:User
191 - build_replying_message_hierarchy app/models/message.rb /^ def self.build_replying_message_hierarchy(*args)$/;" F class:Message
272 + base_url test/load/visitor_curl_cli.rb /^ attr_accessor :base_url$/;" A class:Visitor
192 - bulk_mail app/controllers/user_admin_controller.rb /^ def bulk_mail$/;" f
273 + base_url= test/load/visitor_curl_cli.rb /^ attr_accessor :base_url$/;" A class:Visitor
193 - cache_ext_hash app/models/language.rb /^ def self.cache_ext_hash$/;" F class:Language
274 + bootstrap_class_for app/helpers/application_helper.rb /^ def bootstrap_class_for(flash_type)$/;" f module:ApplicationHelper
194 - call_grader lib/grader_script.rb /^ def self.call_grader(params)$/;" F class:GraderScript
275 + build_replying_message_hierarchy app/controllers/messages_controller.rb /^ def build_replying_message_hierarchy(user)$/;" f class:MessagesController
195 - call_import_problem lib/grader_script.rb /^ def self.call_import_problem(problem_name, $/;" F class:GraderScript
276 + build_replying_message_hierarchy app/models/message.rb /^ def self.build_replying_message_hierarchy(*args)$/;" S class:Message
277 + bulk_mail app/controllers/user_admin_controller.rb /^ def bulk_mail$/;" f class:UserAdminController
278 + bulk_manage app/controllers/user_admin_controller.rb /^ def bulk_manage$/;" f class:UserAdminController
279 + cache_ext_hash app/models/language.rb /^ def self.cache_ext_hash$/;" S class:Language
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