diff --git a/app/models/account/position_core.rb b/app/models/account/position_core.rb index 429639316..65eafc15f 100644 --- a/app/models/account/position_core.rb +++ b/app/models/account/position_core.rb @@ -53,7 +53,7 @@ def ensure_position_or_alias!(project, name, try_create: false, position_attribu return unless existing_position || try_create Account.transaction do - if existing_position && project.best_analysis.contributor_facts.find_by(name_id: existing_position.name_id) + if check_existing_contributions?(project, existing_position) create_or_update_alias(project, name, existing_position, position_attributes) else attributes = position_attributes.merge(account: account, project: project, committer_name: name.name) @@ -62,6 +62,11 @@ def ensure_position_or_alias!(project, name, try_create: false, position_attribu end end + def check_existing_contributions?(project, position) + contributor_facts = project.best_analysis.contributor_facts + position && contributor_facts.present? && contributor_facts.find_by(name_id: position.name_id) + end + def logos logo_ids = preloaded_positions.map { |position| position.project.logo_id }.compact @logos ||= Logo.find(logo_ids).index_by(&:id)