Commit 53875407d41f71cc3c4ca19541d231d98098e75d

Authored by Larissa Reis
1 parent 67e58158

Makes member role the default if none selected

  When explicity _accepting_ a new member in a community, but still no role is selected,
  makes the default role be 'member'.

(ActionItem2281)
app/models/add_member.rb
... ... @@ -11,7 +11,9 @@ class AddMember < Task
11 11 settings_items :roles
12 12  
13 13 def perform
14   - self.roles ||= [Profile::Roles.member(organization.environment.id).id]
  14 + if !self.roles or (self.roles.uniq.compact.length == 1 and self.roles.uniq.compact.first.to_i.zero?)
  15 + self.roles = [Profile::Roles.member(organization.environment.id).id]
  16 + end
15 17 target.affiliate(requestor, self.roles.select{|r| !r.to_i.zero? }.map{|i| Role.find(i)})
16 18 end
17 19  
... ...
test/unit/add_member_test.rb
... ... @@ -22,6 +22,14 @@ class AddMemberTest < ActiveSupport::TestCase
22 22 assert_equal [person], community.members
23 23 end
24 24  
  25 + should 'make member role the default role' do
  26 + TaskMailer.stubs(:deliver_target_notification)
  27 + task = AddMember.create!(:roles => ["0", "0", nil], :person => person, :organization => community)
  28 + task.finish
  29 +
  30 + assert_equal [person], community.members
  31 + end
  32 +
25 33 should 'require requestor' do
26 34 task = AddMember.new
27 35 task.valid?
... ...