replace tabs to spaces at lib/tasks/migrate_from_mantis.rake
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9585 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
6a1a4e006d
commit
910cb8ff06
@ -190,12 +190,12 @@ task :migrate_from_mantis => :environment do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def read(*args)
|
def read(*args)
|
||||||
if @read_finished
|
if @read_finished
|
||||||
nil
|
nil
|
||||||
else
|
else
|
||||||
@read_finished = true
|
@read_finished = true
|
||||||
content
|
content
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -242,18 +242,18 @@ task :migrate_from_mantis => :environment do
|
|||||||
users_map = {}
|
users_map = {}
|
||||||
users_migrated = 0
|
users_migrated = 0
|
||||||
MantisUser.find(:all).each do |user|
|
MantisUser.find(:all).each do |user|
|
||||||
u = User.new :firstname => encode(user.firstname),
|
u = User.new :firstname => encode(user.firstname),
|
||||||
:lastname => encode(user.lastname),
|
:lastname => encode(user.lastname),
|
||||||
:mail => user.email,
|
:mail => user.email,
|
||||||
:last_login_on => user.last_visit
|
:last_login_on => user.last_visit
|
||||||
u.login = user.username
|
u.login = user.username
|
||||||
u.password = 'mantis'
|
u.password = 'mantis'
|
||||||
u.status = User::STATUS_LOCKED if user.enabled != 1
|
u.status = User::STATUS_LOCKED if user.enabled != 1
|
||||||
u.admin = true if user.access_level == 90
|
u.admin = true if user.access_level == 90
|
||||||
next unless u.save!
|
next unless u.save!
|
||||||
users_migrated += 1
|
users_migrated += 1
|
||||||
users_map[user.id] = u.id
|
users_map[user.id] = u.id
|
||||||
print '.'
|
print '.'
|
||||||
end
|
end
|
||||||
puts
|
puts
|
||||||
|
|
||||||
@ -264,43 +264,43 @@ task :migrate_from_mantis => :environment do
|
|||||||
versions_map = {}
|
versions_map = {}
|
||||||
categories_map = {}
|
categories_map = {}
|
||||||
MantisProject.find(:all).each do |project|
|
MantisProject.find(:all).each do |project|
|
||||||
p = Project.new :name => encode(project.name),
|
p = Project.new :name => encode(project.name),
|
||||||
:description => encode(project.description)
|
:description => encode(project.description)
|
||||||
p.identifier = project.identifier
|
p.identifier = project.identifier
|
||||||
next unless p.save
|
next unless p.save
|
||||||
projects_map[project.id] = p.id
|
projects_map[project.id] = p.id
|
||||||
p.enabled_module_names = ['issue_tracking', 'news', 'wiki']
|
p.enabled_module_names = ['issue_tracking', 'news', 'wiki']
|
||||||
p.trackers << TRACKER_BUG unless p.trackers.include?(TRACKER_BUG)
|
p.trackers << TRACKER_BUG unless p.trackers.include?(TRACKER_BUG)
|
||||||
p.trackers << TRACKER_FEATURE unless p.trackers.include?(TRACKER_FEATURE)
|
p.trackers << TRACKER_FEATURE unless p.trackers.include?(TRACKER_FEATURE)
|
||||||
print '.'
|
print '.'
|
||||||
|
|
||||||
# Project members
|
# Project members
|
||||||
project.members.each do |member|
|
project.members.each do |member|
|
||||||
m = Member.new :user => User.find_by_id(users_map[member.user_id]),
|
m = Member.new :user => User.find_by_id(users_map[member.user_id]),
|
||||||
:roles => [ROLE_MAPPING[member.access_level] || DEFAULT_ROLE]
|
:roles => [ROLE_MAPPING[member.access_level] || DEFAULT_ROLE]
|
||||||
m.project = p
|
m.project = p
|
||||||
m.save
|
m.save
|
||||||
end
|
end
|
||||||
|
|
||||||
# Project versions
|
# Project versions
|
||||||
project.versions.each do |version|
|
project.versions.each do |version|
|
||||||
v = Version.new :name => encode(version.version),
|
v = Version.new :name => encode(version.version),
|
||||||
:description => encode(version.description),
|
:description => encode(version.description),
|
||||||
:effective_date => (version.date_order ? version.date_order.to_date : nil)
|
:effective_date => (version.date_order ? version.date_order.to_date : nil)
|
||||||
v.project = p
|
v.project = p
|
||||||
v.save
|
v.save
|
||||||
versions_map[version.id] = v.id
|
versions_map[version.id] = v.id
|
||||||
end
|
end
|
||||||
|
|
||||||
# Project categories
|
# Project categories
|
||||||
project.categories.each do |category|
|
project.categories.each do |category|
|
||||||
g = IssueCategory.new :name => category.category[0,30]
|
g = IssueCategory.new :name => category.category[0,30]
|
||||||
g.project = p
|
g.project = p
|
||||||
g.save
|
g.save
|
||||||
categories_map[category.category] = g.id
|
categories_map[category.category] = g.id
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
puts
|
puts
|
||||||
|
|
||||||
# Bugs
|
# Bugs
|
||||||
print "Migrating bugs"
|
print "Migrating bugs"
|
||||||
@ -309,22 +309,22 @@ task :migrate_from_mantis => :environment do
|
|||||||
keep_bug_ids = (Issue.count == 0)
|
keep_bug_ids = (Issue.count == 0)
|
||||||
MantisBug.find_each(:batch_size => 200) do |bug|
|
MantisBug.find_each(:batch_size => 200) do |bug|
|
||||||
next unless projects_map[bug.project_id] && users_map[bug.reporter_id]
|
next unless projects_map[bug.project_id] && users_map[bug.reporter_id]
|
||||||
i = Issue.new :project_id => projects_map[bug.project_id],
|
i = Issue.new :project_id => projects_map[bug.project_id],
|
||||||
:subject => encode(bug.summary),
|
:subject => encode(bug.summary),
|
||||||
:description => encode(bug.bug_text.full_description),
|
:description => encode(bug.bug_text.full_description),
|
||||||
:priority => PRIORITY_MAPPING[bug.priority] || DEFAULT_PRIORITY,
|
:priority => PRIORITY_MAPPING[bug.priority] || DEFAULT_PRIORITY,
|
||||||
:created_on => bug.date_submitted,
|
:created_on => bug.date_submitted,
|
||||||
:updated_on => bug.last_updated
|
:updated_on => bug.last_updated
|
||||||
i.author = User.find_by_id(users_map[bug.reporter_id])
|
i.author = User.find_by_id(users_map[bug.reporter_id])
|
||||||
i.category = IssueCategory.find_by_project_id_and_name(i.project_id, bug.category[0,30]) unless bug.category.blank?
|
i.category = IssueCategory.find_by_project_id_and_name(i.project_id, bug.category[0,30]) unless bug.category.blank?
|
||||||
i.fixed_version = Version.find_by_project_id_and_name(i.project_id, bug.fixed_in_version) unless bug.fixed_in_version.blank?
|
i.fixed_version = Version.find_by_project_id_and_name(i.project_id, bug.fixed_in_version) unless bug.fixed_in_version.blank?
|
||||||
i.status = STATUS_MAPPING[bug.status] || DEFAULT_STATUS
|
i.status = STATUS_MAPPING[bug.status] || DEFAULT_STATUS
|
||||||
i.tracker = (bug.severity == 10 ? TRACKER_FEATURE : TRACKER_BUG)
|
i.tracker = (bug.severity == 10 ? TRACKER_FEATURE : TRACKER_BUG)
|
||||||
i.id = bug.id if keep_bug_ids
|
i.id = bug.id if keep_bug_ids
|
||||||
next unless i.save
|
next unless i.save
|
||||||
issues_map[bug.id] = i.id
|
issues_map[bug.id] = i.id
|
||||||
print '.'
|
print '.'
|
||||||
STDOUT.flush
|
STDOUT.flush
|
||||||
|
|
||||||
# Assignee
|
# Assignee
|
||||||
# Redmine checks that the assignee is a project member
|
# Redmine checks that the assignee is a project member
|
||||||
@ -332,17 +332,17 @@ task :migrate_from_mantis => :environment do
|
|||||||
i.assigned_to = User.find_by_id(users_map[bug.handler_id])
|
i.assigned_to = User.find_by_id(users_map[bug.handler_id])
|
||||||
i.save(:validate => false)
|
i.save(:validate => false)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Bug notes
|
# Bug notes
|
||||||
bug.bug_notes.each do |note|
|
bug.bug_notes.each do |note|
|
||||||
next unless users_map[note.reporter_id]
|
next unless users_map[note.reporter_id]
|
||||||
n = Journal.new :notes => encode(note.bug_note_text.note),
|
n = Journal.new :notes => encode(note.bug_note_text.note),
|
||||||
:created_on => note.date_submitted
|
:created_on => note.date_submitted
|
||||||
n.user = User.find_by_id(users_map[note.reporter_id])
|
n.user = User.find_by_id(users_map[note.reporter_id])
|
||||||
n.journalized = i
|
n.journalized = i
|
||||||
n.save
|
n.save
|
||||||
end
|
end
|
||||||
|
|
||||||
# Bug files
|
# Bug files
|
||||||
bug.bug_files.each do |file|
|
bug.bug_files.each do |file|
|
||||||
a = Attachment.new :created_on => file.date_added
|
a = Attachment.new :created_on => file.date_added
|
||||||
@ -481,7 +481,7 @@ task :migrate_from_mantis => :environment do
|
|||||||
:username => 'root',
|
:username => 'root',
|
||||||
:password => '' }
|
:password => '' }
|
||||||
|
|
||||||
puts
|
puts
|
||||||
puts "Please enter settings for your Mantis database"
|
puts "Please enter settings for your Mantis database"
|
||||||
[:adapter, :host, :database, :username, :password].each do |param|
|
[:adapter, :host, :database, :username, :password].each do |param|
|
||||||
print "#{param} [#{db_params[param]}]: "
|
print "#{param} [#{db_params[param]}]: "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user