Description:
add autoset exam mode
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r765:3ce2a4681a0f - - 4 files changed: 29 inserted, 4 deleted

@@ -15,18 +15,28
15 15 def update
16 16 @config = GraderConfiguration.find(params[:id])
17 17 User.clear_last_login if @config.key == GraderConfiguration::MULTIPLE_IP_LOGIN_KEY and @config.value == 'true' and params[:grader_configuration][:value] == 'false'
18 18 respond_to do |format|
19 19 if @config.update_attributes(configuration_params)
20 20 format.json { head :ok }
21 21 else
22 22 format.json { respond_with_bip(@config) }
23 23 end
24 24 end
25 25 end
26 26
27 + def set_exam_right
28 + value = params[:value] || 'false'
29 + GraderConfiguration.where(key: "right.bypass_agreement").update(value: value);
30 + GraderConfiguration.where(key: "right.multiple_ip_login").update(value: value);
31 + GraderConfiguration.where(key: "right.user_hall_of_fame").update(value: value);
32 + GraderConfiguration.where(key: "right.user_view_submission ").update(value: value);
33 + GraderConfiguration.where(key: "right.view_testcase ").update(value: value);
34 + redirect_to :action => 'index'
35 + end
36 +
27 37 private
28 38 def configuration_params
29 39 params.require(:grader_configuration).permit(:key,:value_type,:value,:description)
30 40 end
31 41
32 42 end
@@ -1,37 +1,48
1 1 /- content_for :header do
2 2 / = javascript_include_tag 'local_jquery'
3 3
4 + .container-fluid
5 + .row
6 + .col-md-12
4 7 %h1 System configuration
8 + .row
9 + .col-md-12
10 + = link_to 'Set exam mode', set_exam_right_grader_configuration_index_path('false'), class: 'btn btn-warning'
11 + = link_to 'Set practice mode', set_exam_right_grader_configuration_index_path('true'), class: 'btn btn-info'
5 12
6 13 - @group.each do |g|
14 + .row
15 + .col-md-12
7 16 %h2= g
8 17 %table.table.table-striped
9 18 %thead
10 19 %th{style: 'width: 25%'} Key
11 20 %th{style: 'width: 10%'}Type
12 21 %th{style: 'width: 15%'} Value
13 22 %th Description
14 23 - @configurations.each do |conf|
15 24 - next if conf.key[0...(conf.key.index('.'))] != g
16 25 - @grader_configuration = conf
17 26 %tr
18 27 %td
19 28 /= in_place_editor_field :grader_configuration, :key, {}, :rows=>1
20 29 = @grader_configuration.key
21 30 %td
22 31 /= in_place_editor_field :grader_configuration, :value_type, {}, :rows=>1
23 32 = @grader_configuration.value_type
24 33 %td
25 34 = best_in_place @grader_configuration, :value, ok_button: "ok", cancel_button: "cancel"
26 35 %td= conf.description
27 36
37 + .row
38 + .col-md-12
28 39 - if GraderConfiguration.config_cached?
29 40 %br/
30 41 Your config is saved, but it does not automatically take effect.
31 42 %br/
32 43 If you have one mongrel process running, you can
33 44 = link_to '[click]', :action => 'reload'
34 45 here to reload.
35 46 %br/
36 47 If you have more than one process running, you should restart
37 48 them manually.
@@ -3,26 +3,26
3 3 / %h1 Tasks Hall of Fame
4 4 / = link_to('[back to All-Time Hall of Fame]', action: 'problem_hof', id: nil )
5 5 /- else
6 6 / %h1 All-Time Hall of Fame
7 7
8 8 .panel.panel-info
9 9 .panel-heading
10 10 Select Task
11 11 .panel-body
12 12 .form-inline
13 13 = select 'report',
14 14 'problem_id',
15 - @problems.collect {|p| ["[#{p.name}] #{p.full_name}", report_problem_hof_url(p.id)]},
16 - {:selected => report_problem_hof_url(@problem)},
15 + @problems.collect {|p| ["[#{p.name}] #{p.full_name}", problem_hof_report_path(p)]},
16 + {:selected => problem_hof_report_path(@problem)},
17 17 { class: 'select2 form-control' }
18 18 %button.btn.btn-primary.btn-sm.go-button#problem_go{data: {source: "#report_problem_id"}} Go
19 19
20 20
21 21 - unless params[:id]
22 22 /=render partial: 'all_time_hof'
23 23 Please select a problem.
24 24 - else
25 25 %h1 [#{Problem.find(params[:id]).name}] #{Problem.find(params[:id]).full_name}
26 26 %h2 Submission History
27 27 =render partial: 'application/bar_graph', locals: { histogram: @histogram }
28 28 =render partial: 'task_hof'
@@ -56,25 +56,29
56 56 end
57 57
58 58 resources :testcases, only: [] do
59 59 member do
60 60 get 'download_input'
61 61 get 'download_sol'
62 62 end
63 63 collection do
64 64 get 'show_problem/:problem_id(/:test_num)' => 'testcases#show_problem', as: 'show_problem'
65 65 end
66 66 end
67 67
68 - resources :grader_configuration, controller: 'configurations'
68 + resources :grader_configuration, controller: 'configurations' do
69 + collection do
70 + get 'set_exam_right(/:value)', action: 'set_exam_right', as: 'set_exam_right'
71 + end
72 + end
69 73
70 74 resources :users do
71 75 member do
72 76 get 'toggle_activate', 'toggle_enable'
73 77 get 'stat'
74 78 end
75 79 collection do
76 80 get 'profile'
77 81 post 'chg_passwd'
78 82 end
79 83 end
80 84
@@ -125,25 +129,25
125 129
126 130 #get 'user_admin', to: 'user_admin#index'
127 131 #get 'user_admin/bulk_manage', to: 'user_admin#bulk_manage', as: 'bulk_manage_user_admin'
128 132 #post 'user_admin', to: 'user_admin#create'
129 133 #delete 'user_admin/:id', to: 'user_admin#destroy', as: 'user_admin_destroy'
130 134
131 135 #singular resource
132 136 #---- BEWARE ---- singular resource maps to plural controller by default, we can override by provide controller name directly
133 137 #report
134 138 resource :report, only: [], controller: 'report' do
135 139 get 'login'
136 140 get 'multiple_login'
137 - get 'problem_hof/:id', action: 'problem_hof'
141 + get 'problem_hof(/:id)', action: 'problem_hof', as: 'problem_hof'
138 142 get 'current_score(/:group_id)', action: 'current_score', as: 'current_score'
139 143 get 'max_score'
140 144 post 'show_max_score'
141 145 end
142 146 #get 'report/current_score', to: 'report#current_score', as: 'report_current_score'
143 147 #get 'report/problem_hof(/:id)', to: 'report#problem_hof', as: 'report_problem_hof'
144 148 #get "report/login"
145 149 #get 'report/max_score', to: 'report#max_score', as: 'report_max_score'
146 150 #post 'report/show_max_score', to: 'report#show_max_score', as: 'report_show_max_score'
147 151
148 152 resource :main, only: [], controller: 'main' do
149 153 get 'login'
You need to be logged in to leave comments. Login now