Commit faeab49783ef9cbb54664def6b922b780051175c

Authored by Joenio Costa
Committed by Antonio Terceiro
1 parent 7c655652

ActionItem1027: fix remove member of community

app/controllers/my_profile/profile_members_controller.rb
@@ -47,12 +47,16 @@ class ProfileMembersController < MyProfileController @@ -47,12 +47,16 @@ class ProfileMembersController < MyProfileController
47 end 47 end
48 48
49 def unassociate 49 def unassociate
50 - @association = RoleAssignment.find(params[:id])  
51 - if @association.destroy  
52 - flash[:notice] = 'Member succefully unassociated'  
53 - else  
54 - flash[:notice] = 'Failed to unassociate member' 50 + member = Person.find(params[:id])
  51 + associations = member.find_roles(profile)
  52 + RoleAssignment.transaction do
  53 + if associations.map(&:destroy)
  54 + flash[:notice] = 'Member succefully unassociated'
  55 + else
  56 + flash[:notice] = 'Failed to unassociate member'
  57 + end
55 end 58 end
56 - redirect_to :aciton => 'index' 59 + redirect_to :action => 'index'
57 end 60 end
  61 +
58 end 62 end
test/functional/profile_members_controller_test.rb
@@ -79,4 +79,22 @@ class ProfileMembersControllerTest < Test::Unit::TestCase @@ -79,4 +79,22 @@ class ProfileMembersControllerTest < Test::Unit::TestCase
79 assert_includes roles, role2 79 assert_includes roles, role2
80 assert_not_includes roles, role1 80 assert_not_includes roles, role1
81 end 81 end
  82 +
  83 + should 'unassociate community member' do
  84 + com = Community.create!(:identifier => 'test_community', :name => 'test community')
  85 + admin = create_user_with_permission('admin_user', 'manage_memberships', com)
  86 + member = create_user('test_member').person
  87 + com.add_member(member)
  88 + assert_includes com.members, member
  89 +
  90 + login_as :admin_user
  91 + get :unassociate, :profile => com.identifier, :id => member
  92 +
  93 + assert_response :redirect
  94 + assert_redirected_to :action => 'index'
  95 + member.reload
  96 + com.reload
  97 + assert_not_includes com.members, member
  98 + end
  99 +
82 end 100 end