Commit 6978e36d3d28e5e9a036027ad5f7baf8689db75b
Exists in
master
and in
29 other branches
Merge commit 'refs/merge-requests/135' of git://gitorious.org/noosfero/noosfero …
…into merge-requests/135
Showing
2 changed files
with
11 additions
and
1 deletions
Show diff stats
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? | ... | ... |