Description:
wip: bootstrap toggle switch todo: add javascript that thisable button until reponse arrived
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r556:b4cf182747cd - - 9 files changed: 23 inserted, 4 deleted

@@ -51,12 +51,13
51 #syntax highlighter
51 #syntax highlighter
52 gem 'rouge'
52 gem 'rouge'
53
53
54 #add bootstrap
54 #add bootstrap
55 gem 'bootstrap-sass', '~> 3.2.0'
55 gem 'bootstrap-sass', '~> 3.2.0'
56 gem 'bootstrap-switch-rails'
56 gem 'bootstrap-switch-rails'
57 + gem 'bootstrap-toggle-rails'
57 gem 'autoprefixer-rails'
58 gem 'autoprefixer-rails'
58
59
59
60
60 gem 'haml'
61 gem 'haml'
61 gem 'mail'
62 gem 'mail'
62 gem 'rdiscount'
63 gem 'rdiscount'
@@ -43,12 +43,13
43 best_in_place (3.0.3)
43 best_in_place (3.0.3)
44 actionpack (>= 3.2)
44 actionpack (>= 3.2)
45 railties (>= 3.2)
45 railties (>= 3.2)
46 bootstrap-sass (3.2.0.2)
46 bootstrap-sass (3.2.0.2)
47 sass (~> 3.2)
47 sass (~> 3.2)
48 bootstrap-switch-rails (3.3.3)
48 bootstrap-switch-rails (3.3.3)
49 + bootstrap-toggle-rails (2.2.1.0)
49 builder (3.0.4)
50 builder (3.0.4)
50 coffee-rails (3.2.2)
51 coffee-rails (3.2.2)
51 coffee-script (>= 2.2.0)
52 coffee-script (>= 2.2.0)
52 railties (~> 3.2.0)
53 railties (~> 3.2.0)
53 coffee-script (2.3.0)
54 coffee-script (2.3.0)
54 coffee-script-source
55 coffee-script-source
@@ -161,12 +162,13
161
162
162 DEPENDENCIES
163 DEPENDENCIES
163 autoprefixer-rails
164 autoprefixer-rails
164 best_in_place (~> 3.0.1)
165 best_in_place (~> 3.0.1)
165 bootstrap-sass (~> 3.2.0)
166 bootstrap-sass (~> 3.2.0)
166 bootstrap-switch-rails
167 bootstrap-switch-rails
168 + bootstrap-toggle-rails
167 coffee-rails (~> 3.2.2)
169 coffee-rails (~> 3.2.2)
168 dynamic_form
170 dynamic_form
169 haml
171 haml
170 in_place_editing
172 in_place_editing
171 jquery-rails
173 jquery-rails
172 jquery-tablesorter
174 jquery-tablesorter
@@ -11,13 +11,14
11 // GO AFTER THE REQUIRES BELOW.
11 // GO AFTER THE REQUIRES BELOW.
12 //
12 //
13 //= require jquery
13 //= require jquery
14 //= require jquery_ujs
14 //= require jquery_ujs
15 //= require jquery.ui.all
15 //= require jquery.ui.all
16 //= require bootstrap-sprockets
16 //= require bootstrap-sprockets
17 - //= require bootstrap-switch
17 + //x= require bootstrap-switch
18 + //= require bootstrap-toggle
18 //= require select2
19 //= require select2
19 //= require custom
20 //= require custom
20
21
21
22
22 // since this is after blank line, it is not downloaded
23 // since this is after blank line, it is not downloaded
23 //x= require prototype
24 //x= require prototype
@@ -10,13 +10,14
10
10
11
11
12 # document ready
12 # document ready
13
13
14 $ ->
14 $ ->
15 $(".select2").select2()
15 $(".select2").select2()
16 - $(".bootstrap-switch").bootstrapSwitch()
16 + #$(".bootstrap-switch").bootstrapSwitch()
17 + $(".bootstrap-toggle").bootstrapToggle()
17 $('.btn-file :file').on 'fileselect', (event, numFiles, label) ->
18 $('.btn-file :file').on 'fileselect', (event, numFiles, label) ->
18 input = $(this).parents('.input-group').find(':text')
19 input = $(this).parents('.input-group').find(':text')
19 log = if numFiles > 1 then numFiles + ' files selected' else label
20 log = if numFiles > 1 then numFiles + ' files selected' else label
20 if input.length
21 if input.length
21 input.val log
22 input.val log
22 else
23 else
@@ -27,13 +27,14
27
27
28 //bootstrap
28 //bootstrap
29 @import bootstrap-sprockets
29 @import bootstrap-sprockets
30 @import bootstrap
30 @import bootstrap
31 @import select2
31 @import select2
32 @import select2-bootstrap
32 @import select2-bootstrap
33 - @import bootstrap3-switch
33 + //@import bootstrap3-switch
34 + @import bootstrap-toggle
34
35
35 .secondnavbar
36 .secondnavbar
36 top: 50px
37 top: 50px
37
38
38 .btn-file
39 .btn-file
39 position: relative
40 position: relative
@@ -66,20 +66,30
66 @announcement = Announcement.find(params[:id])
66 @announcement = Announcement.find(params[:id])
67
67
68 respond_to do |format|
68 respond_to do |format|
69 if @announcement.update_attributes(params[:announcement])
69 if @announcement.update_attributes(params[:announcement])
70 flash[:notice] = 'Announcement was successfully updated.'
70 flash[:notice] = 'Announcement was successfully updated.'
71 format.html { redirect_to(@announcement) }
71 format.html { redirect_to(@announcement) }
72 + format.js {}
72 format.xml { head :ok }
73 format.xml { head :ok }
73 else
74 else
74 format.html { render :action => "edit" }
75 format.html { render :action => "edit" }
76 + format.js {}
75 format.xml { render :xml => @announcement.errors, :status => :unprocessable_entity }
77 format.xml { render :xml => @announcement.errors, :status => :unprocessable_entity }
76 end
78 end
77 end
79 end
78 end
80 end
79
81
82 + def toggle
83 + @announcement = Announcement.find(params[:id])
84 + @announcement.update_attributes( published: params[:published] == 1)
85 + respond_to do |format|
86 + format.js {}
87 + end
88 + end
89 +
80 # DELETE /announcements/1
90 # DELETE /announcements/1
81 # DELETE /announcements/1.xml
91 # DELETE /announcements/1.xml
82 def destroy
92 def destroy
83 @announcement = Announcement.find(params[:id])
93 @announcement = Announcement.find(params[:id])
84 @announcement.destroy
94 @announcement.destroy
85
95
@@ -5,12 +5,13
5
5
6 SINGLE_USER_MODE_CONF_KEY = 'system.single_user_mode'
6 SINGLE_USER_MODE_CONF_KEY = 'system.single_user_mode'
7 MULTIPLE_IP_LOGIN_CONF_KEY = 'right.multiple_ip_login'
7 MULTIPLE_IP_LOGIN_CONF_KEY = 'right.multiple_ip_login'
8
8
9 # Returns the current logged-in user (if any).
9 # Returns the current logged-in user (if any).
10 def current_user
10 def current_user
11 + return nil unless session[:user_id]
11 @current_user ||= User.find(session[:user_id])
12 @current_user ||= User.find(session[:user_id])
12 end
13 end
13
14
14 def admin_authorization
15 def admin_authorization
15 return false unless authenticate
16 return false unless authenticate
16 user = User.find(session[:user_id], :include => ['roles'])
17 user = User.find(session[:user_id], :include => ['roles'])
@@ -24,13 +24,13
24 <% if !announcement.notes.blank? %>
24 <% if !announcement.notes.blank? %>
25 <b>Notes: <%=h announcement.notes %></b><br/>
25 <b>Notes: <%=h announcement.notes %></b><br/>
26 <% end %>
26 <% end %>
27 <%=h announcement.body %>
27 <%=h announcement.body %>
28 </td>
28 </td>
29 <td><%=h announcement.author %></td>
29 <td><%=h announcement.author %></td>
30 - <td><%= check_box_tag :published, 1, announcement.published, class: 'bootstrap-switch', data: {size: 'small'} %></td>
30 + <td><%= check_box_tag :published, 1, announcement.published, { class: 'bootstrap-toggle', id: "published-#{announcement.id}", data: {remote: true, method: 'PUT', url: url_for(controller: :announcements, action: :toggle, id: announcement), size: 'small', toggle: 'toggle' } } %></td>
31 <!-- <td><%= in_place_editor_field :announcement, :published, {}, :rows => 1 %></td> -->
31 <!-- <td><%= in_place_editor_field :announcement, :published, {}, :rows => 1 %></td> -->
32 <td><%= link_to 'Show', announcement %></td>
32 <td><%= link_to 'Show', announcement %></td>
33 <td><%= link_to 'Edit', edit_announcement_path(announcement) %></td>
33 <td><%= link_to 'Edit', edit_announcement_path(announcement) %></td>
34 <td><%= link_to 'Destroy', announcement, :confirm => 'Are you sure?', :method => :delete %></td>
34 <td><%= link_to 'Destroy', announcement, :confirm => 'Are you sure?', :method => :delete %></td>
35 </tr>
35 </tr>
36 <% end %>
36 <% end %>
@@ -3,12 +3,14
3
3
4 get "report/login"
4 get "report/login"
5
5
6 resources :contests
6 resources :contests
7
7
8 resources :announcements
8 resources :announcements
9 + match 'announcements/toggle/:id' => 'announcements#toggle', via: :put
10 +
9 resources :sites
11 resources :sites
10
12
11 resources :grader_configuration, controller: 'configurations'
13 resources :grader_configuration, controller: 'configurations'
12
14
13 match 'tasks/view/:file.:ext' => 'tasks#view'
15 match 'tasks/view/:file.:ext' => 'tasks#view'
14 match 'tasks/download/:id/:file.:ext' => 'tasks#download'
16 match 'tasks/download/:id/:file.:ext' => 'tasks#download'
You need to be logged in to leave comments. Login now