##// END OF EJS Templates
Removes RJS from UsersController....
Jean-Philippe Lang -
r9876:47e496f049d7
parent child
Show More
@@ -0,0 +1,1
1 Element.update('tab-content-memberships', '<%= escape_javascript(render :partial => 'users/memberships') %>');
@@ -0,0 +1,6
1 <% if @membership.valid? %>
2 Element.update("tab-content-memberships", '<%= escape_javascript(render :partial => 'users/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 %>
@@ -183,21 +183,8 class UsersController < ApplicationController
183 @membership = Member.edit_membership(params[:membership_id], params[:membership], @user)
183 @membership = Member.edit_membership(params[:membership_id], params[:membership], @user)
184 @membership.save
184 @membership.save
185 respond_to do |format|
185 respond_to do |format|
186 if @membership.valid?
186 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
187 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
187 format.js
188 format.js {
189 render(:update) {|page|
190 page.replace_html "tab-content-memberships", :partial => 'users/memberships'
191 page.visual_effect(:highlight, "member-#{@membership.id}")
192 }
193 }
194 else
195 format.js {
196 render(:update) {|page|
197 page.alert(l(:notice_failed_to_save_members, :errors => @membership.errors.full_messages.join(', ')))
198 }
199 }
200 end
201 end
188 end
202 end
189 end
203
190
@@ -208,7 +195,7 class UsersController < ApplicationController
208 end
195 end
209 respond_to do |format|
196 respond_to do |format|
210 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
197 format.html { redirect_to :controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships' }
211 format.js { render(:update) {|page| page.replace_html "tab-content-memberships", :partial => 'users/memberships'} }
198 format.js
212 end
199 end
213 end
200 end
214
201
@@ -363,38 +363,45 class UsersControllerTest < ActionController::TestCase
363 def test_create_membership_js_format
363 def test_create_membership_js_format
364 assert_difference 'Member.count' do
364 assert_difference 'Member.count' do
365 post :edit_membership, :id => 7, :membership => {:project_id => 3, :role_ids => [2]}, :format => 'js'
365 post :edit_membership, :id => 7, :membership => {:project_id => 3, :role_ids => [2]}, :format => 'js'
366 assert_response :success
367 assert_template 'edit_membership'
368 assert_equal 'text/javascript', response.content_type
366 end
369 end
367 assert_response :success
368 assert_select_rjs :replace_html, 'tab-content-memberships'
369 member = Member.first(:order => 'id DESC')
370 member = Member.first(:order => 'id DESC')
370 assert_equal User.find(7), member.principal
371 assert_equal User.find(7), member.principal
371 assert_equal [2], member.role_ids
372 assert_equal [2], member.role_ids
372 assert_equal 3, member.project_id
373 assert_equal 3, member.project_id
374 assert_include 'tab-content-memberships', response.body
373 end
375 end
374
376
375 def test_create_membership_js_format_with_failure
377 def test_create_membership_js_format_with_failure
376 assert_no_difference 'Member.count' do
378 assert_no_difference 'Member.count' do
377 post :edit_membership, :id => 7, :membership => {:project_id => 3}, :format => 'js'
379 post :edit_membership, :id => 7, :membership => {:project_id => 3}, :format => 'js'
380 assert_response :success
381 assert_template 'edit_membership'
382 assert_equal 'text/javascript', response.content_type
378 end
383 end
379 assert_response :success
384 assert_include 'alert', response.body, "Alert message not sent"
380 assert @response.body.match(/alert/i), "Alert message not sent"
385 assert_include 'Role can\\\'t be empty', response.body, "Error message not sent"
381 assert @response.body.match(/role can't be empty/i), "Error message not sent"
382 end
386 end
383
387
384 def test_update_membership
388 def test_update_membership
385 assert_no_difference 'Member.count' do
389 assert_no_difference 'Member.count' do
386 put :edit_membership, :id => 2, :membership_id => 1, :membership => { :role_ids => [2]}
390 put :edit_membership, :id => 2, :membership_id => 1, :membership => { :role_ids => [2]}
391 assert_redirected_to :action => 'edit', :id => '2', :tab => 'memberships'
387 end
392 end
388 assert_redirected_to :action => 'edit', :id => '2', :tab => 'memberships'
389 assert_equal [2], Member.find(1).role_ids
393 assert_equal [2], Member.find(1).role_ids
390 end
394 end
391
395
392 def test_update_membership_js_format
396 def test_update_membership_js_format
393 assert_no_difference 'Member.count' do
397 assert_no_difference 'Member.count' do
394 put :edit_membership, :id => 2, :membership_id => 1, :membership => {:role_ids => [2]}, :format => 'js'
398 put :edit_membership, :id => 2, :membership_id => 1, :membership => {:role_ids => [2]}, :format => 'js'
399 assert_response :success
400 assert_template 'edit_membership'
401 assert_equal 'text/javascript', response.content_type
395 end
402 end
396 assert_response :success
403 assert_equal [2], Member.find(1).role_ids
397 assert_select_rjs :replace_html, 'tab-content-memberships'
404 assert_include 'tab-content-memberships', response.body
398 end
405 end
399
406
400 def test_destroy_membership
407 def test_destroy_membership
@@ -408,8 +415,11 class UsersControllerTest < ActionController::TestCase
408 def test_destroy_membership_js_format
415 def test_destroy_membership_js_format
409 assert_difference 'Member.count', -1 do
416 assert_difference 'Member.count', -1 do
410 delete :destroy_membership, :id => 2, :membership_id => 1, :format => 'js'
417 delete :destroy_membership, :id => 2, :membership_id => 1, :format => 'js'
418 assert_response :success
419 assert_template 'destroy_membership'
420 assert_equal 'text/javascript', response.content_type
411 end
421 end
412 assert_response :success
422 assert_nil Member.find_by_id(1)
413 assert_select_rjs :replace_html, 'tab-content-memberships'
423 assert_include 'tab-content-memberships', response.body
414 end
424 end
415 end
425 end
@@ -160,8 +160,8 class ActiveSupport::TestCase
160 assert_tag({:attributes => { :id => 'errorExplanation' }}.merge(options))
160 assert_tag({:attributes => { :id => 'errorExplanation' }}.merge(options))
161 end
161 end
162
162
163 def assert_include(expected, s)
163 def assert_include(expected, s, message=nil)
164 assert s.include?(expected), "\"#{expected}\" not found in \"#{s}\""
164 assert s.include?(expected), (message || "\"#{expected}\" not found in \"#{s}\"")
165 end
165 end
166
166
167 def assert_not_include(expected, s)
167 def assert_not_include(expected, s)
General Comments 0
You need to be logged in to leave comments. Login now