Defect #35606 » fix-35606.patch
app/models/project.rb | ||
---|---|---|
550 | 550 | |
551 | 551 |
# Returns a hash of project users/groups grouped by role |
552 | 552 |
def principals_by_role |
553 |
memberships.includes(:principal, :roles).inject({}) do |h, m| |
|
553 |
memberships.active.includes(:principal, :roles).inject({}) do |h, m|
|
|
554 | 554 |
m.roles.each do |r| |
555 | 555 |
h[r] ||= [] |
556 | 556 |
h[r] << m.principal |
test/unit/project_test.rb | ||
---|---|---|
475 | 475 |
assert principals_by_role[role].include?(group) |
476 | 476 |
end |
477 | 477 | |
478 |
def test_principals_by_role_should_only_return_active_users |
|
479 |
group = Group.find(10) |
|
480 |
Member.create!(:principal => group, :project_id => 1, :role_ids => [1]) |
|
481 | ||
482 |
principals_by_role = Project.find(1).principals_by_role |
|
483 |
locked_user = User.find(5) |
|
484 |
assert Project.find(1).memberships.map(&:principal).include?(locked_user) |
|
485 |
assert_not principals_by_role.values.flatten.include?(locked_user) |
|
486 |
end |
|
487 | ||
478 | 488 |
def test_rolled_up_trackers |
479 | 489 |
parent = Project.find(1) |
480 | 490 |
parent.trackers = Tracker.find([1, 2]) |
- « Previous
- 1
- 2
- 3
- Next »