Description:
add best_in_place tidy up route
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r474:24d67ab56dc2 - - 7 files changed: 32 inserted, 4 deleted

@@ -16,45 +16,48
16 # See https://github.com/sstephenson/execjs#readme for more supported runtimes
16 # See https://github.com/sstephenson/execjs#readme for more supported runtimes
17 # gem 'therubyracer', :platforms => :ruby
17 # gem 'therubyracer', :platforms => :ruby
18
18
19 gem 'uglifier', '>= 1.0.3'
19 gem 'uglifier', '>= 1.0.3'
20 end
20 end
21
21
22 gem 'prototype-rails'
22 gem 'prototype-rails'
23
23
24 # To use ActiveModel has_secure_password
24 # To use ActiveModel has_secure_password
25 # gem 'bcrypt-ruby', '~> 3.0.0'
25 # gem 'bcrypt-ruby', '~> 3.0.0'
26
26
27 # To use Jbuilder templates for JSON
27 # To use Jbuilder templates for JSON
28 # gem 'jbuilder'
28 # gem 'jbuilder'
29
29
30 # Use unicorn as the app server
30 # Use unicorn as the app server
31 # gem 'unicorn'
31 # gem 'unicorn'
32
32
33 # Deploy with Capistrano
33 # Deploy with Capistrano
34 # gem 'capistrano'
34 # gem 'capistrano'
35
35
36 # To use debugger
36 # To use debugger
37 # gem 'debugger'
37 # gem 'debugger'
38 #
38 #
39
39
40 + #in-place editor
41 + gem 'best_in_place', '~> 3.0.1'
42 +
40 # jquery addition
43 # jquery addition
41 gem 'jquery-rails'
44 gem 'jquery-rails'
42 gem 'jquery-ui-sass-rails'
45 gem 'jquery-ui-sass-rails'
43 gem 'jquery-timepicker-addon-rails'
46 gem 'jquery-timepicker-addon-rails'
44 gem 'jquery-tablesorter'
47 gem 'jquery-tablesorter'
45
48
46 #syntax highlighter
49 #syntax highlighter
47 gem 'rouge'
50 gem 'rouge'
48
51
49 gem "haml"
52 gem "haml"
50 gem "mail"
53 gem "mail"
51 gem "rdiscount"
54 gem "rdiscount"
52 gem "test-unit"
55 gem "test-unit"
53 gem 'will_paginate', '~> 3.0.0'
56 gem 'will_paginate', '~> 3.0.0'
54 gem 'dynamic_form'
57 gem 'dynamic_form'
55 gem 'in_place_editing'
58 gem 'in_place_editing'
56 gem 'verification', :git => 'git://github.com/sikachu/verification.git'
59 gem 'verification', :git => 'git://github.com/sikachu/verification.git'
57
60
58 group :test, :development do
61 group :test, :development do
59 gem "rspec-rails", "~> 2.0"
62 gem "rspec-rails", "~> 2.0"
60 end
63 end
@@ -16,48 +16,51
16 activemodel (= 3.2.19)
16 activemodel (= 3.2.19)
17 activesupport (= 3.2.19)
17 activesupport (= 3.2.19)
18 builder (~> 3.0.0)
18 builder (~> 3.0.0)
19 erubis (~> 2.7.0)
19 erubis (~> 2.7.0)
20 journey (~> 1.0.4)
20 journey (~> 1.0.4)
21 rack (~> 1.4.5)
21 rack (~> 1.4.5)
22 rack-cache (~> 1.2)
22 rack-cache (~> 1.2)
23 rack-test (~> 0.6.1)
23 rack-test (~> 0.6.1)
24 sprockets (~> 2.2.1)
24 sprockets (~> 2.2.1)
25 activemodel (3.2.19)
25 activemodel (3.2.19)
26 activesupport (= 3.2.19)
26 activesupport (= 3.2.19)
27 builder (~> 3.0.0)
27 builder (~> 3.0.0)
28 activerecord (3.2.19)
28 activerecord (3.2.19)
29 activemodel (= 3.2.19)
29 activemodel (= 3.2.19)
30 activesupport (= 3.2.19)
30 activesupport (= 3.2.19)
31 arel (~> 3.0.2)
31 arel (~> 3.0.2)
32 tzinfo (~> 0.3.29)
32 tzinfo (~> 0.3.29)
33 activeresource (3.2.19)
33 activeresource (3.2.19)
34 activemodel (= 3.2.19)
34 activemodel (= 3.2.19)
35 activesupport (= 3.2.19)
35 activesupport (= 3.2.19)
36 activesupport (3.2.19)
36 activesupport (3.2.19)
37 i18n (~> 0.6, >= 0.6.4)
37 i18n (~> 0.6, >= 0.6.4)
38 multi_json (~> 1.0)
38 multi_json (~> 1.0)
39 arel (3.0.3)
39 arel (3.0.3)
40 + best_in_place (3.0.2)
41 + actionpack (>= 3.2)
42 + railties (>= 3.2)
40 builder (3.0.4)
43 builder (3.0.4)
41 coffee-rails (3.2.2)
44 coffee-rails (3.2.2)
42 coffee-script (>= 2.2.0)
45 coffee-script (>= 2.2.0)
43 railties (~> 3.2.0)
46 railties (~> 3.2.0)
44 coffee-script (2.3.0)
47 coffee-script (2.3.0)
45 coffee-script-source
48 coffee-script-source
46 execjs
49 execjs
47 coffee-script-source (1.7.1)
50 coffee-script-source (1.7.1)
48 diff-lcs (1.2.5)
51 diff-lcs (1.2.5)
49 dynamic_form (1.1.4)
52 dynamic_form (1.1.4)
50 erubis (2.7.0)
53 erubis (2.7.0)
51 execjs (2.2.1)
54 execjs (2.2.1)
52 haml (4.0.5)
55 haml (4.0.5)
53 tilt
56 tilt
54 hike (1.2.3)
57 hike (1.2.3)
55 i18n (0.6.11)
58 i18n (0.6.11)
56 in_place_editing (1.2.0)
59 in_place_editing (1.2.0)
57 journey (1.0.4)
60 journey (1.0.4)
58 jquery-rails (3.1.1)
61 jquery-rails (3.1.1)
59 railties (>= 3.0, < 5.0)
62 railties (>= 3.0, < 5.0)
60 thor (>= 0.14, < 2.0)
63 thor (>= 0.14, < 2.0)
61 jquery-tablesorter (1.12.7)
64 jquery-tablesorter (1.12.7)
62 railties (>= 3.1, < 5)
65 railties (>= 3.1, < 5)
63 jquery-timepicker-addon-rails (1.4.1)
66 jquery-timepicker-addon-rails (1.4.1)
@@ -128,44 +131,45
128 sass (>= 3.1.10)
131 sass (>= 3.1.10)
129 tilt (~> 1.3)
132 tilt (~> 1.3)
130 sprockets (2.2.2)
133 sprockets (2.2.2)
131 hike (~> 1.2)
134 hike (~> 1.2)
132 multi_json (~> 1.0)
135 multi_json (~> 1.0)
133 rack (~> 1.0)
136 rack (~> 1.0)
134 tilt (~> 1.1, != 1.3.0)
137 tilt (~> 1.1, != 1.3.0)
135 test-unit (3.0.1)
138 test-unit (3.0.1)
136 power_assert
139 power_assert
137 thor (0.19.1)
140 thor (0.19.1)
138 tilt (1.4.1)
141 tilt (1.4.1)
139 treetop (1.4.15)
142 treetop (1.4.15)
140 polyglot
143 polyglot
141 polyglot (>= 0.3.1)
144 polyglot (>= 0.3.1)
142 tzinfo (0.3.41)
145 tzinfo (0.3.41)
143 uglifier (2.5.3)
146 uglifier (2.5.3)
144 execjs (>= 0.3.0)
147 execjs (>= 0.3.0)
145 json (>= 1.8.0)
148 json (>= 1.8.0)
146 will_paginate (3.0.7)
149 will_paginate (3.0.7)
147
150
148 PLATFORMS
151 PLATFORMS
149 ruby
152 ruby
150
153
151 DEPENDENCIES
154 DEPENDENCIES
155 + best_in_place (~> 3.0.1)
152 coffee-rails (~> 3.2.1)
156 coffee-rails (~> 3.2.1)
153 dynamic_form
157 dynamic_form
154 haml
158 haml
155 in_place_editing
159 in_place_editing
156 jquery-rails
160 jquery-rails
157 jquery-tablesorter
161 jquery-tablesorter
158 jquery-timepicker-addon-rails
162 jquery-timepicker-addon-rails
159 jquery-ui-sass-rails
163 jquery-ui-sass-rails
160 mail
164 mail
161 mysql2
165 mysql2
162 prototype-rails
166 prototype-rails
163 rails (= 3.2.19)
167 rails (= 3.2.19)
164 rdiscount
168 rdiscount
165 rouge
169 rouge
166 rspec-rails (~> 2.0)
170 rspec-rails (~> 2.0)
167 sass-rails (~> 3.2.3)
171 sass-rails (~> 3.2.3)
168 test-unit
172 test-unit
169 uglifier (>= 1.0.3)
173 uglifier (>= 1.0.3)
170 verification!
174 verification!
171 will_paginate (~> 3.0.0)
175 will_paginate (~> 3.0.0)
@@ -1,7 +1,14
1 //= require jquery
1 //= require jquery
2 //= require jquery_ujs
2 //= require jquery_ujs
3 //= require jquery.ui.all
3 //= require jquery.ui.all
4 //= require jquery.ui.datepicker
4 //= require jquery.ui.datepicker
5 //= require jquery.ui.slider
5 //= require jquery.ui.slider
6 //= require jquery-ui-timepicker-addon
6 //= require jquery-ui-timepicker-addon
7 //= require jquery-tablesorter
7 //= require jquery-tablesorter
8 + //= require best_in_place
9 + //= require best_in_place.jquery-ui
10 +
11 + $(document).ready(function() {
12 + /* Activating Best In Place */
13 + jQuery(".best_in_place").best_in_place();
14 + });
@@ -1,20 +1,28
1 class ConfigurationsController < ApplicationController
1 class ConfigurationsController < ApplicationController
2
2
3 before_filter :authenticate
3 before_filter :authenticate
4 before_filter { |controller| controller.authorization_by_roles(['admin'])}
4 before_filter { |controller| controller.authorization_by_roles(['admin'])}
5
5
6 - in_place_edit_for :grader_configuration, :key
7 - in_place_edit_for :grader_configuration, :type
8 - in_place_edit_for :grader_configuration, :value
9
6
10 def index
7 def index
11 @configurations = GraderConfiguration.find(:all,
8 @configurations = GraderConfiguration.find(:all,
12 :order => '`key`')
9 :order => '`key`')
13 end
10 end
14
11
15 def reload
12 def reload
16 GraderConfiguration.reload
13 GraderConfiguration.reload
17 redirect_to :action => 'index'
14 redirect_to :action => 'index'
18 end
15 end
19
16
17 + def update
18 + @config = GraderConfiguration.find(params[:id])
19 + respond_to do |format|
20 + if @config.update_attributes(params[:grader_configuration])
21 + format.json { head :ok }
22 + else
23 + format.json { respond_with_bip(@config) }
20 end
24 end
25 + end
26 + end
27 +
28 + end
@@ -1,29 +1,32
1 + - content_for :header do
2 + = javascript_include_tag 'local_jquery'
3 +
1 %h1 System configuration
4 %h1 System configuration
2
5
3 %table.info
6 %table.info
4 %tr.info-head
7 %tr.info-head
5 %th Key
8 %th Key
6 %th Type
9 %th Type
7 %th Value
10 %th Value
8 %th Description
11 %th Description
9 - @configurations.each do |conf|
12 - @configurations.each do |conf|
10 - @grader_configuration = conf
13 - @grader_configuration = conf
11 %tr{:class => cycle("info-odd", "info-even")}
14 %tr{:class => cycle("info-odd", "info-even")}
12 %td
15 %td
13 = in_place_editor_field :grader_configuration, :key, {}, :rows=>1
16 = in_place_editor_field :grader_configuration, :key, {}, :rows=>1
14 %td
17 %td
15 = in_place_editor_field :grader_configuration, :value_type, {}, :rows=>1
18 = in_place_editor_field :grader_configuration, :value_type, {}, :rows=>1
16 %td
19 %td
17 - = in_place_editor_field :grader_configuration, :value, {}, :rows=>1
20 + = best_in_place @grader_configuration, :value, ok_button: "ok", cancel_button: "cancel"
18 %td= conf.description
21 %td= conf.description
19
22
20 - if GraderConfiguration.config_cached?
23 - if GraderConfiguration.config_cached?
21 %br/
24 %br/
22 Your config is saved, but it does not automatically take effect.
25 Your config is saved, but it does not automatically take effect.
23 %br/
26 %br/
24 If you have one mongrel process running, you can
27 If you have one mongrel process running, you can
25 = link_to '[click]', :action => 'reload'
28 = link_to '[click]', :action => 'reload'
26 here to reload.
29 here to reload.
27 %br/
30 %br/
28 If you have more than one process running, you should restart
31 If you have more than one process running, you should restart
29 them manually.
32 them manually.
@@ -1,26 +1,27
1 - content_for :head do
1 - content_for :head do
2 = stylesheet_link_tag 'graders'
2 = stylesheet_link_tag 'graders'
3 + = javascript_include_tag 'local_jquery'
3 <meta http-equiv ="refresh" content="60"/>
4 <meta http-equiv ="refresh" content="60"/>
4
5
5 %h1 Grader information
6 %h1 Grader information
6
7
7 = link_to '[Refresh]', :action => 'list'
8 = link_to '[Refresh]', :action => 'list'
8 %br/
9 %br/
9
10
10 .submitbox
11 .submitbox
11 .item
12 .item
12 Grader control:
13 Grader control:
13 .item
14 .item
14 = form_for :clear, :url => {:action => 'start_grading'} do |f|
15 = form_for :clear, :url => {:action => 'start_grading'} do |f|
15 = submit_tag 'Start graders in grading env'
16 = submit_tag 'Start graders in grading env'
16 .item
17 .item
17 = form_for :clear, :url => {:action => 'start_exam'} do |f|
18 = form_for :clear, :url => {:action => 'start_exam'} do |f|
18 = submit_tag 'Start graders in exam env'
19 = submit_tag 'Start graders in exam env'
19 .item
20 .item
20 = form_for :clear, :url => {:action => 'stop_all'} do |f|
21 = form_for :clear, :url => {:action => 'stop_all'} do |f|
21 = submit_tag 'Stop all running graders'
22 = submit_tag 'Stop all running graders'
22 .item
23 .item
23 = form_for :clear, :url => {:action => 'clear_all'} do |f|
24 = form_for :clear, :url => {:action => 'clear_all'} do |f|
24 = submit_tag 'Clear all data'
25 = submit_tag 'Clear all data'
25 %br{:style => 'clear:both'}/
26 %br{:style => 'clear:both'}/
26
27
@@ -1,32 +1,34
1 CafeGrader::Application.routes.draw do
1 CafeGrader::Application.routes.draw do
2 get "report/login"
2 get "report/login"
3
3
4 resources :contests
4 resources :contests
5
5
6 resources :announcements
6 resources :announcements
7 resources :sites
7 resources :sites
8
8
9 + resources :grader_configuration, controller: 'configurations'
10 +
9 # The priority is based upon order of creation:
11 # The priority is based upon order of creation:
10 # first created -> highest priority.
12 # first created -> highest priority.
11
13
12 # Sample of regular route:
14 # Sample of regular route:
13 # match 'products/:id' => 'catalog#view'
15 # match 'products/:id' => 'catalog#view'
14 # Keep in mind you can assign values other than :controller and :action
16 # Keep in mind you can assign values other than :controller and :action
15
17
16 # Sample of named route:
18 # Sample of named route:
17 # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
19 # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
18 # This route can be invoked with purchase_url(:id => product.id)
20 # This route can be invoked with purchase_url(:id => product.id)
19
21
20 # Sample resource route (maps HTTP verbs to controller actions automatically):
22 # Sample resource route (maps HTTP verbs to controller actions automatically):
21 # resources :products
23 # resources :products
22
24
23 # Sample resource route with options:
25 # Sample resource route with options:
24 # resources :products do
26 # resources :products do
25 # member do
27 # member do
26 # get 'short'
28 # get 'short'
27 # post 'toggle'
29 # post 'toggle'
28 # end
30 # end
29 #
31 #
30 # collection do
32 # collection do
31 # get 'sold'
33 # get 'sold'
32 # end
34 # end
You need to be logged in to leave comments. Login now