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

r753:9918c6e0c313 - - 6 files changed: 15 inserted, 6 deleted

@@ -63,20 +63,20
63 end
63 end
64
64
65 def update
65 def update
66 @problem = Problem.find(params[:id])
66 @problem = Problem.find(params[:id])
67 @description = @problem.description
67 @description = @problem.description
68 if @description.nil? and params[:description][:body]!=''
68 if @description.nil? and params[:description][:body]!=''
69 - @description = Description.new(params[:description])
69 + @description = Description.new(description_params)
70 if !@description.save
70 if !@description.save
71 flash[:notice] = 'Error saving description'
71 flash[:notice] = 'Error saving description'
72 render :action => 'edit' and return
72 render :action => 'edit' and return
73 end
73 end
74 @problem.description = @description
74 @problem.description = @description
75 elsif @description
75 elsif @description
76 - if !@description.update_attributes(params[:description])
76 + if !@description.update_attributes(description_params)
77 flash[:notice] = 'Error saving description'
77 flash[:notice] = 'Error saving description'
78 render :action => 'edit' and return
78 render :action => 'edit' and return
79 end
79 end
80 end
80 end
81 if params[:file] and params[:file].content_type != 'application/pdf'
81 if params[:file] and params[:file].content_type != 'application/pdf'
82 flash[:notice] = 'Error: Uploaded file is not PDF'
82 flash[:notice] = 'Error: Uploaded file is not PDF'
@@ -298,7 +298,11
298 private
298 private
299
299
300 def problem_params
300 def problem_params
301 params.require(:problem).permit(:name, :full_name, :full_score, :change_date_added, :date_added, :available, :test_allowed,:output_only, :url, :description, tag_ids:[])
301 params.require(:problem).permit(:name, :full_name, :full_score, :change_date_added, :date_added, :available, :test_allowed,:output_only, :url, :description, tag_ids:[])
302 end
302 end
303
303
304 + def description_params
305 + params.require(:description).permit(:body, :markdown)
304 end
306 end
307 +
308 + end
@@ -24,13 +24,13
24
24
25 has_one :contest_stat, :class_name => "UserContestStat", :dependent => :destroy
25 has_one :contest_stat, :class_name => "UserContestStat", :dependent => :destroy
26
26
27 belongs_to :site
27 belongs_to :site
28 belongs_to :country
28 belongs_to :country
29
29
30 - has_and_belongs_to_many :contests, -> { order(:name); uniq}
30 + has_and_belongs_to_many :contests, -> { order(:name)}
31
31
32 scope :activated_users, -> {where activated: true}
32 scope :activated_users, -> {where activated: true}
33
33
34 validates_presence_of :login
34 validates_presence_of :login
35 validates_uniqueness_of :login
35 validates_uniqueness_of :login
36 validates_format_of :login, :with => /\A[\_A-Za-z0-9]+\z/
36 validates_format_of :login, :with => /\A[\_A-Za-z0-9]+\z/
@@ -170,13 +170,13
170
170
171 def contest_finished?
171 def contest_finished?
172 if GraderConfiguration.contest_mode?
172 if GraderConfiguration.contest_mode?
173 return false if site==nil
173 return false if site==nil
174 return site.finished?
174 return site.finished?
175 elsif GraderConfiguration.indv_contest_mode?
175 elsif GraderConfiguration.indv_contest_mode?
176 - return false if self.contest_stat(true)==nil
176 + return false if self.contest_stat==nil
177 return contest_time_left == 0
177 return contest_time_left == 0
178 else
178 else
179 return false
179 return false
180 end
180 end
181 end
181 end
182
182
@@ -5,13 +5,14
5
5
6 %p= link_to '[Back to problem list]', problems_path
6 %p= link_to '[Back to problem list]', problems_path
7
7
8 - if @problem and @problem.errors
8 - if @problem and @problem.errors
9 =error_messages_for 'problem'
9 =error_messages_for 'problem'
10
10
11 - = form_tag({:action => 'do_import'}, :multipart => true) do
11 + = simple_form_for :problem, url: do_import_problems_path, :multipart => true do |f|
12 +
12 .submitbox
13 .submitbox
13 %table
14 %table
14 %tr
15 %tr
15 %td Name:
16 %td Name:
16 %td= text_field_tag 'name'
17 %td= text_field_tag 'name'
17 %tr
18 %tr
@@ -1,9 +1,9
1 %h1 Maximum score
1 %h1 Maximum score
2
2
3 - = form_tag report_show_max_score_path
3 + = form_tag show_max_score_report_path
4 .row
4 .row
5 .col-md-4
5 .col-md-4
6 .panel.panel-primary
6 .panel.panel-primary
7 .panel-heading
7 .panel-heading
8 Problems
8 Problems
9 .panel-body
9 .panel-body
@@ -48,12 +48,13
48 :locals => {submission: @submission, problem_name: @problem.name, problem_id: @problem.id }
48 :locals => {submission: @submission, problem_name: @problem.name, problem_id: @problem.id }
49 .row
49 .row
50 .col-md-12
50 .col-md-12
51 %h2 Console
51 %h2 Console
52 %textarea#console{style: 'height: 100%; width: 100%;background-color:#000;color:#fff;font-family: consolas, monaco, "Droid Sans Mono";',rows: 20}
52 %textarea#console{style: 'height: 100%; width: 100%;background-color:#000;color:#fff;font-family: consolas, monaco, "Droid Sans Mono";',rows: 20}
53
53
54 + - if @submission
54 .modal.fade#compiler{tabindex: -1,role: 'dialog'}
55 .modal.fade#compiler{tabindex: -1,role: 'dialog'}
55 .modal-dialog.modal-lg{role:'document'}
56 .modal-dialog.modal-lg{role:'document'}
56 .modal-content
57 .modal-content
57 .modal-header
58 .modal-header
58 %button.close{type: 'button', data: {dismissed: :modal}, aria: {label: 'close'}}
59 %button.close{type: 'button', data: {dismissed: :modal}, aria: {label: 'close'}}
59 %span{aria: {hidden: 'true'}, data: {dismiss: 'modal'}} ×
60 %span{aria: {hidden: 'true'}, data: {dismiss: 'modal'}} ×
@@ -37,12 +37,13
37 get 'turn_all_off'
37 get 'turn_all_off'
38 get 'turn_all_on'
38 get 'turn_all_on'
39 get 'import'
39 get 'import'
40 get 'manage'
40 get 'manage'
41 get 'quick_create'
41 get 'quick_create'
42 post 'do_manage'
42 post 'do_manage'
43 + post 'do_import'
43 end
44 end
44 end
45 end
45
46
46 resources :groups do
47 resources :groups do
47 member do
48 member do
48 post 'add_user', to: 'groups#add_user', as: 'add_user'
49 post 'add_user', to: 'groups#add_user', as: 'add_user'
@@ -78,12 +79,13
78
79
79 resources :submissions do
80 resources :submissions do
80 member do
81 member do
81 get 'download'
82 get 'download'
82 get 'compiler_msg'
83 get 'compiler_msg'
83 get 'rejudge'
84 get 'rejudge'
85 + get 'source'
84 end
86 end
85 collection do
87 collection do
86 get 'prob/:problem_id', to: 'submissions#index', as: 'problem'
88 get 'prob/:problem_id', to: 'submissions#index', as: 'problem'
87 get 'direct_edit_problem/:problem_id(/:user_id)', to: 'submissions#direct_edit_problem', as: 'direct_edit_problem'
89 get 'direct_edit_problem/:problem_id(/:user_id)', to: 'submissions#direct_edit_problem', as: 'direct_edit_problem'
88 get 'get_latest_submission_status/:uid/:pid', to: 'submissions#get_latest_submission_status', as: 'get_latest_submission_status'
90 get 'get_latest_submission_status/:uid/:pid', to: 'submissions#get_latest_submission_status', as: 'get_latest_submission_status'
89 end
91 end
@@ -112,12 +114,13
112
114
113 resources :contest_management, only: [:index] do
115 resources :contest_management, only: [:index] do
114 collection do
116 collection do
115 get 'user_stat'
117 get 'user_stat'
116 get 'clear_stat'
118 get 'clear_stat'
117 get 'clear_all_stat'
119 get 'clear_all_stat'
120 + get 'change_contest_mode'
118 end
121 end
119 end
122 end
120
123
121 #get 'user_admin', to: 'user_admin#index'
124 #get 'user_admin', to: 'user_admin#index'
122 #get 'user_admin/bulk_manage', to: 'user_admin#bulk_manage', as: 'bulk_manage_user_admin'
125 #get 'user_admin/bulk_manage', to: 'user_admin#bulk_manage', as: 'bulk_manage_user_admin'
123 #post 'user_admin', to: 'user_admin#create'
126 #post 'user_admin', to: 'user_admin#create'
You need to be logged in to leave comments. Login now