Description:
- fix various ui issues
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r613:e3dfadbca639 - - 5 files changed: 26 inserted, 22 deleted

@@ -1,21 +1,22
1 1 class ConfigurationsController < ApplicationController
2 2
3 3 before_filter :authenticate
4 4 before_filter { |controller| controller.authorization_by_roles(['admin'])}
5 5
6 6
7 7 def index
8 8 @configurations = GraderConfiguration.find(:all,
9 9 :order => '`key`')
10 + @group = GraderConfiguration.pluck("grader_configurations.key").map{ |x| x[0...(x.index('.'))] }.uniq.sort
10 11 end
11 12
12 13 def reload
13 14 GraderConfiguration.reload
14 15 redirect_to :action => 'index'
15 16 end
16 17
17 18 def update
18 19 @config = GraderConfiguration.find(params[:id])
19 20 User.clear_last_login if @config.key == GraderConfiguration::MULTIPLE_IP_LOGIN_KEY and @config.value == 'true' and params[:grader_configuration][:value] == 'false'
20 21 respond_to do |format|
21 22 if @config.update_attributes(params[:grader_configuration])
@@ -1,17 +1,17
1 1
2 2 - if submission.nil?
3 3 = "-"
4 4 - else
5 - - if submission.graded_at.nil?
5 + - unless submission.graded_at
6 6 = t 'main.submitted_at'
7 7 = format_short_time(submission.submitted_at.localtime)
8 8 - else
9 9 = t 'main.graded_at'
10 10 = "#{format_short_time(submission.graded_at.localtime)}, "
11 11 - if GraderConfiguration['ui.show_score']
12 12 = t 'main.score'
13 13 = "#{(submission.points*100/submission.problem.full_score).to_i} "
14 14 = " ["
15 15 %tt
16 16 = submission.grader_comment
17 17 = "]"
@@ -1,34 +1,37
1 1 /- content_for :header do
2 2 / = javascript_include_tag 'local_jquery'
3 3
4 4 %h1 System configuration
5 5
6 - %table.info
7 - %tr.info-head
8 - %th Key
9 - %th Type
10 - %th Value
11 - %th Description
12 - - @configurations.each do |conf|
13 - - @grader_configuration = conf
14 - %tr{:class => cycle("info-odd", "info-even")}
15 - %td
16 - /= in_place_editor_field :grader_configuration, :key, {}, :rows=>1
17 - = @grader_configuration.key
18 - %td
19 - /= in_place_editor_field :grader_configuration, :value_type, {}, :rows=>1
20 - = @grader_configuration.value_type
21 - %td
22 - = best_in_place @grader_configuration, :value, ok_button: "ok", cancel_button: "cancel"
23 - %td= conf.description
6 + - @group.each do |g|
7 + %h2= g
8 + %table.table.table-striped
9 + %thead
10 + %th{style: 'width: 25%'} Key
11 + %th{style: 'width: 10%'}Type
12 + %th{style: 'width: 15%'} Value
13 + %th Description
14 + - @configurations.each do |conf|
15 + - next if conf.key[0...(conf.key.index('.'))] != g
16 + - @grader_configuration = conf
17 + %tr
18 + %td
19 + /= in_place_editor_field :grader_configuration, :key, {}, :rows=>1
20 + = @grader_configuration.key
21 + %td
22 + /= in_place_editor_field :grader_configuration, :value_type, {}, :rows=>1
23 + = @grader_configuration.value_type
24 + %td
25 + = best_in_place @grader_configuration, :value, ok_button: "ok", cancel_button: "cancel"
26 + %td= conf.description
24 27
25 28 - if GraderConfiguration.config_cached?
26 29 %br/
27 30 Your config is saved, but it does not automatically take effect.
28 31 %br/
29 32 If you have one mongrel process running, you can
30 33 = link_to '[click]', :action => 'reload'
31 34 here to reload.
32 35 %br/
33 36 If you have more than one process running, you should restart
34 37 them manually.
@@ -1,20 +1,20
1 1 = form_tag({:action => 'submit'}, :multipart => true, class: 'form') do
2 2 - if @submission and @submission.errors.any?
3 3 #error_explanation
4 4 .alert.alert-danger
5 5 %h3= "#{pluralize(@submission.errors.count, "error")} prohibited this user from being saved:"
6 6 %ul
7 7 - @submission.errors.full_messages.each do |msg|
8 8 %li= msg
9 9 .form-group
10 10 = label_tag :submission, 'Problem:'
11 - = select 'submission', 'problem_id', [[(t 'main.specified_in_header'),'-1']] + @problems.collect {|p| ["[#{p.name}] #{p.full_name}", p.id]}, {:selected => '-1'}, { class: 'select2 form-control' }
11 + = select 'submission', 'problem_id', [[(t 'main.specified_in_header'),'-1']] + @problems.collect {|p| ["[#{p.name}] #{p.full_name}", p.id]}, {:selected => '-1'}, { class: 'select2 form-control', style: "width: 100%" }
12 12 .form-group
13 13 = label_tag :file, 'File:'
14 14 .input-group
15 15 %span.input-group-btn
16 16 %span.btn.btn-default.btn-file
17 17 Browse
18 18 = file_field_tag 'file'
19 19 = text_field_tag '' , nil, {readonly: true, class: 'form-control'}
20 20 = submit_tag 'Submit', class: 'btn btn-default'
@@ -1,25 +1,25
1 1
2 2 - if submission.nil?
3 3 = "-"
4 4 - else
5 5 - unless submission.graded_at
6 - =t 'main.submitted_at'
6 + = t 'main.submitted_at'
7 7 = format_short_time(submission.submitted_at.localtime)
8 8 - else
9 9 %strong= t 'main.graded_at'
10 10 = "#{format_short_time(submission.graded_at.localtime)} "
11 11 %br
12 12 - if GraderConfiguration['ui.show_score']
13 - =t 'main.score'
13 + %strong=t 'main.score'
14 14 = "#{(submission.points*100/submission.problem.full_score).to_i} "
15 15 = " ["
16 16 %tt
17 17 = submission.grader_comment
18 18 = "]"
19 19 %br
20 20 %strong View:
21 21 - if GraderConfiguration.show_grading_result
22 22 = link_to '[detailed result]', :action => 'result', :id => submission.id
23 23 = link_to "#{t 'main.cmp_msg'}", {:action => 'compiler_msg', :id => submission.id}, {popup: true,class: 'btn btn-xs btn-info'}
24 24 = link_to "#{t 'main.src_link'}",{:action => 'source', :id => submission.id}, class: 'btn btn-xs btn-info'
25 25 = link_to "#{t 'main.submissions_link'}", problem_submissions_path(problem_id), class: 'btn btn-xs btn-info'
You need to be logged in to leave comments. Login now