Skip to content

Commit 2d6f552

Browse files
committed
Replace Member.find_or_new with ActiveRecord's find_or_initialize_by (#36730).
git-svn-id: http://svn.redmine.org/redmine/trunk@21456 e93f8b46-1217-0410-a6f0-8f06a7374b81
1 parent d15d23b commit 2d6f552

File tree

3 files changed

+3
-13
lines changed

3 files changed

+3
-13
lines changed

app/models/member.rb

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ def self.create_principal_memberships(principal, attributes)
208208
project_ids = Array.wrap(attributes[:project_ids] || attributes[:project_id])
209209
role_ids = Array.wrap(attributes[:role_ids])
210210
project_ids.each do |project_id|
211-
member = Member.find_or_new(project_id, principal)
211+
member = Member.find_or_initialize_by(:project_id => project_id, :user_id => principal.id)
212212
member.role_ids |= role_ids
213213
member.save
214214
members << member
@@ -217,16 +217,6 @@ def self.create_principal_memberships(principal, attributes)
217217
members
218218
end
219219

220-
# Finds or initializes a Member for the given project and principal
221-
def self.find_or_new(project, principal)
222-
project_id = project.is_a?(Project) ? project.id : project
223-
principal_id = principal.is_a?(Principal) ? principal.id : principal
224-
225-
member = Member.find_by_project_id_and_user_id(project_id, principal_id)
226-
member ||= Member.new(:project_id => project_id, :user_id => principal_id)
227-
member
228-
end
229-
230220
protected
231221

232222
def validate_role

app/models/project.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1001,7 +1001,7 @@ def remove_inherited_member_roles
10011001
def add_inherited_member_roles
10021002
if inherit_members? && parent
10031003
parent.memberships.each do |parent_member|
1004-
member = Member.find_or_new(self.id, parent_member.user_id)
1004+
member = Member.find_or_initialize_by(:project_id => self.id, :user_id => parent_member.user_id)
10051005
parent_member.member_roles.each do |parent_member_role|
10061006
member.member_roles <<
10071007
MemberRole.new(:role => parent_member_role.role,

test/integration/api_test/issues_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ def test_show_should_include_issue_attributes
437437
issue = Issue.find(1)
438438
assert_equal 1, issue.tracker_id # Bug
439439
issue.update(:status_id => 2) # Assigned
440-
member = Member.find_or_new(issue.project, User.find_by_login('dlopper'))
440+
member = Member.find_by(:project => issue.project, :user => User.find_by(:login => 'dlopper'))
441441
assert_equal [2], member.role_ids # Developer
442442

443443
get '/issues/1.xml?include=allowed_statuses', :headers => credentials('dlopper', 'foo')

0 commit comments

Comments
 (0)