Commit 3a131383 authored by James Lopez's avatar James Lopez

fixed MR issue and refactored some stuff

parent 76efdea7
......@@ -125,7 +125,7 @@ class MergeRequest < ActiveRecord::Base
end
end
validates :source_project, presence: true, unless: :allow_broken
validates :source_project, presence: true, unless: [:allow_broken, :importing]
validates :source_branch, presence: true
validates :target_project, presence: true
validates :target_branch, presence: true
......
......@@ -13,12 +13,6 @@ module Projects
end
def map
@project_member_map ||= project_member_map
end
private
def project_member_map
@project_member_map = Hash.new(default_project_member)
@exported_members.each do |member|
existing_user = User.where(find_project_user_query(member)).first
......@@ -27,6 +21,8 @@ module Projects
@project_member_map
end
private
def assign_member(existing_user, member)
old_user_id = member['user']['id']
member['user'] = existing_user
......
......@@ -10,18 +10,19 @@ module Projects
relation_sym = parse_relation_sym(relation_sym)
klass = relation_class(relation_sym)
relation_hash.delete('id') #screw IDs for now
#TODO refactor this...
if relation_sym == :merge_requests
relation_hash['target_project_id'] = relation_hash.delete('project_id')
relation_hash['source_project_id'] = -1
relation_hash['importing'] = true
end
handle_merge_requests(relation_hash) if relation_sym == :merge_requests
update_user_references(relation_hash, members_map)
klass.new(relation_hash)
end
private
def handle_merge_requests(relation_hash)
relation_hash['target_project_id'] = relation_hash.delete('project_id')
relation_hash['source_project_id'] = -1
relation_hash['importing'] = true
end
#TODO nice to have, optimize this to only get called for specific models
def update_user_references(relation_hash, members_map)
USER_REFERENCES.each do |reference|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment