mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-19 15:01:14 +00:00
Fixed that Project.uniq.visible errors under certain conditions (#21182).
Patch by Redmine CRM. git-svn-id: http://svn.redmine.org/redmine/trunk@14857 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
c2fe2d0c06
commit
151892c313
@ -28,8 +28,7 @@ class Principal < ActiveRecord::Base
|
|||||||
has_many :memberships,
|
has_many :memberships,
|
||||||
lambda {preload(:project, :roles).
|
lambda {preload(:project, :roles).
|
||||||
joins(:project).
|
joins(:project).
|
||||||
where("#{Project.table_name}.status<>#{Project::STATUS_ARCHIVED}").
|
where("#{Project.table_name}.status<>#{Project::STATUS_ARCHIVED}")},
|
||||||
order("#{Project.table_name}.name")},
|
|
||||||
:class_name => 'Member',
|
:class_name => 'Member',
|
||||||
:foreign_key => 'user_id'
|
:foreign_key => 'user_id'
|
||||||
has_many :projects, :through => :memberships
|
has_many :projects, :through => :memberships
|
||||||
|
|||||||
@ -991,4 +991,13 @@ class ProjectTest < ActiveSupport::TestCase
|
|||||||
p.status = Project::STATUS_CLOSED
|
p.status = Project::STATUS_CLOSED
|
||||||
assert_include 'closed', p.css_classes.split
|
assert_include 'closed', p.css_classes.split
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_combination_of_visible_and_uniq_scopes_in_case_anonymous_group_has_memberships_should_not_error
|
||||||
|
project = Project.find(1)
|
||||||
|
member = Member.create!(:project => project, :principal => Group.anonymous, :roles => [Role.generate!])
|
||||||
|
project.members << member
|
||||||
|
assert_nothing_raised do
|
||||||
|
Project.uniq.visible.to_a
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user