##// END OF EJS Templates
Removes RJS from GroupsController....
Jean-Philippe Lang -
r9861:21ee2e2cf246
parent child
Show More
@@ -0,0 +1,4
1 Element.update('tab-content-users', '<%= escape_javascript(render :partial => 'groups/users') %>');
2 <% @users.each do |user| %>
3 new Effect.Highlight('user-<%= user.id %>');
4 <% end %>
@@ -0,0 +1,1
1 Element.update('tab-content-memberships', '<%= escape_javascript(render :partial => 'groups/memberships') %>');
@@ -0,0 +1,6
1 <% if @membership.valid? %>
2 Element.update('tab-content-memberships', '<%= escape_javascript(render :partial => 'groups/memberships') %>');
3 new Effect.Highlight('member-<%= @membership.id %>');
4 <% else %>
5 alert('<%= escape_javascript(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', '))) %>');
6 <% end %>
@@ -0,0 +1,1
1 Element.update('tab-content-users', '<%= escape_javascript(render :partial => 'groups/users') %>');
@@ -90,16 +90,11 class GroupsController < ApplicationController
90 end
90 end
91
91
92 def add_users
92 def add_users
93 users = User.find_all_by_id(params[:user_id] || params[:user_ids])
93 @users = User.find_all_by_id(params[:user_id] || params[:user_ids])
94 @group.users << users if request.post?
94 @group.users << @users if request.post?
95 respond_to do |format|
95 respond_to do |format|
96 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'users' }
96 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'users' }
97 format.js {
97 format.js
98 render(:update) {|page|
99 page.replace_html "tab-content-users", :partial => 'groups/users'
100 users.each {|user| page.visual_effect(:highlight, "user-#{user.id}") }
101 }
102 }
103 format.api { render_api_ok }
98 format.api { render_api_ok }
104 end
99 end
105 end
100 end
@@ -108,7 +103,7 class GroupsController < ApplicationController
108 @group.users.delete(User.find(params[:user_id])) if request.delete?
103 @group.users.delete(User.find(params[:user_id])) if request.delete?
109 respond_to do |format|
104 respond_to do |format|
110 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'users' }
105 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'users' }
111 format.js { render(:update) {|page| page.replace_html "tab-content-users", :partial => 'groups/users'} }
106 format.js
112 format.api { render_api_ok }
107 format.api { render_api_ok }
113 end
108 end
114 end
109 end
@@ -122,21 +117,8 class GroupsController < ApplicationController
122 @membership = Member.edit_membership(params[:membership_id], params[:membership], @group)
117 @membership = Member.edit_membership(params[:membership_id], params[:membership], @group)
123 @membership.save if request.post?
118 @membership.save if request.post?
124 respond_to do |format|
119 respond_to do |format|
125 if @membership.valid?
120 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'memberships' }
126 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'memberships' }
121 format.js
127 format.js {
128 render(:update) {|page|
129 page.replace_html "tab-content-memberships", :partial => 'groups/memberships'
130 page.visual_effect(:highlight, "member-#{@membership.id}")
131 }
132 }
133 else
134 format.js {
135 render(:update) {|page|
136 page.alert(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', ')))
137 }
138 }
139 end
140 end
122 end
141 end
123 end
142
124
@@ -144,7 +126,7 class GroupsController < ApplicationController
144 Member.find(params[:membership_id]).destroy if request.post?
126 Member.find(params[:membership_id]).destroy if request.post?
145 respond_to do |format|
127 respond_to do |format|
146 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'memberships' }
128 format.html { redirect_to :controller => 'groups', :action => 'edit', :id => @group, :tab => 'memberships' }
147 format.js { render(:update) {|page| page.replace_html "tab-content-memberships", :partial => 'groups/memberships'} }
129 format.js
148 end
130 end
149 end
131 end
150
132
@@ -113,8 +113,11 class GroupsControllerTest < ActionController::TestCase
113 def test_xhr_add_users
113 def test_xhr_add_users
114 assert_difference 'Group.find(10).users.count', 2 do
114 assert_difference 'Group.find(10).users.count', 2 do
115 xhr :post, :add_users, :id => 10, :user_ids => ['2', '3']
115 xhr :post, :add_users, :id => 10, :user_ids => ['2', '3']
116 assert_response :success
117 assert_template 'add_users'
118 assert_equal 'text/javascript', response.content_type
116 end
119 end
117 assert_select_rjs :replace_html, 'tab-content-users'
120 assert_match /John Smith/, response.body
118 end
121 end
119
122
120 def test_remove_user
123 def test_remove_user
@@ -126,8 +129,10 class GroupsControllerTest < ActionController::TestCase
126 def test_xhr_remove_user
129 def test_xhr_remove_user
127 assert_difference 'Group.find(10).users.count', -1 do
130 assert_difference 'Group.find(10).users.count', -1 do
128 xhr :delete, :remove_user, :id => 10, :user_id => '8'
131 xhr :delete, :remove_user, :id => 10, :user_id => '8'
132 assert_response :success
133 assert_template 'remove_user'
134 assert_equal 'text/javascript', response.content_type
129 end
135 end
130 assert_select_rjs :replace_html, 'tab-content-users'
131 end
136 end
132
137
133 def test_new_membership
138 def test_new_membership
@@ -139,15 +144,21 class GroupsControllerTest < ActionController::TestCase
139 def test_xhr_new_membership
144 def test_xhr_new_membership
140 assert_difference 'Group.find(10).members.count' do
145 assert_difference 'Group.find(10).members.count' do
141 xhr :post, :edit_membership, :id => 10, :membership => { :project_id => 2, :role_ids => ['1', '2']}
146 xhr :post, :edit_membership, :id => 10, :membership => { :project_id => 2, :role_ids => ['1', '2']}
147 assert_response :success
148 assert_template 'edit_membership'
149 assert_equal 'text/javascript', response.content_type
142 end
150 end
143 assert_select_rjs :replace_html, 'tab-content-memberships'
151 assert_match /OnlineStore/, response.body
144 end
152 end
145
153
146 def test_xhr_new_membership_with_failure
154 def test_xhr_new_membership_with_failure
147 assert_no_difference 'Group.find(10).members.count' do
155 assert_no_difference 'Group.find(10).members.count' do
148 xhr :post, :edit_membership, :id => 10, :membership => { :project_id => 999, :role_ids => ['1', '2']}
156 xhr :post, :edit_membership, :id => 10, :membership => { :project_id => 999, :role_ids => ['1', '2']}
157 assert_response :success
158 assert_template 'edit_membership'
159 assert_equal 'text/javascript', response.content_type
149 end
160 end
150 assert @response.body.match(/alert/i), "Alert message not sent"
161 assert_match /alert/, response.body, "Alert message not sent"
151 end
162 end
152
163
153 def test_edit_membership
164 def test_edit_membership
@@ -156,6 +167,15 class GroupsControllerTest < ActionController::TestCase
156 end
167 end
157 end
168 end
158
169
170 def test_xhr_edit_membership
171 assert_no_difference 'Group.find(10).members.count' do
172 xhr :post, :edit_membership, :id => 10, :membership_id => 6, :membership => { :role_ids => ['1', '3']}
173 assert_response :success
174 assert_template 'edit_membership'
175 assert_equal 'text/javascript', response.content_type
176 end
177 end
178
159 def test_destroy_membership
179 def test_destroy_membership
160 assert_difference 'Group.find(10).members.count', -1 do
180 assert_difference 'Group.find(10).members.count', -1 do
161 post :destroy_membership, :id => 10, :membership_id => 6
181 post :destroy_membership, :id => 10, :membership_id => 6
@@ -165,8 +185,10 class GroupsControllerTest < ActionController::TestCase
165 def test_xhr_destroy_membership
185 def test_xhr_destroy_membership
166 assert_difference 'Group.find(10).members.count', -1 do
186 assert_difference 'Group.find(10).members.count', -1 do
167 xhr :post, :destroy_membership, :id => 10, :membership_id => 6
187 xhr :post, :destroy_membership, :id => 10, :membership_id => 6
188 assert_response :success
189 assert_template 'destroy_membership'
190 assert_equal 'text/javascript', response.content_type
168 end
191 end
169 assert_select_rjs :replace_html, 'tab-content-memberships'
170 end
192 end
171
193
172 def test_autocomplete_for_user
194 def test_autocomplete_for_user
General Comments 0
You need to be logged in to leave comments. Login now