diff --git a/app/models/tiny_mce_asset.rb b/app/models/tiny_mce_asset.rb
index b07f662d1..a43392a5f 100644
--- a/app/models/tiny_mce_asset.rb
+++ b/app/models/tiny_mce_asset.rb
@@ -105,7 +105,7 @@ class TinyMceAsset < ApplicationRecord
def self.update_old_tinymce(description)
description.scan(/\[~tiny_mce_id:(\w+)\]/).flatten.each do |token|
old_format = /\[~tiny_mce_id:#{token}\]/
- new_format = ""
+ new_format = ""
description.sub!(old_format, new_format)
end
description
diff --git a/app/services/team_importer.rb b/app/services/team_importer.rb
index b140f23d6..74ed1dfcb 100644
--- a/app/services/team_importer.rb
+++ b/app/services/team_importer.rb
@@ -312,7 +312,11 @@ class TeamImporter
end
unless activity.values['message_items'].blank?
activity.values['message_items'].each_value do |item|
+ next unless item['type']
+
mappings = instance_variable_get("@#{item['type'].underscore}_mappings")
+ next unless mappings
+
item['id'] = mappings[item['id']]
end
end
@@ -331,27 +335,25 @@ class TeamImporter
) do |tiny_mce_file|
orig_tmce_id = tiny_mce_asset.id
tiny_mce_asset.id = nil
- if tiny_mce_asset.step_id.present?
- tiny_mce_asset.step_id = @step_mappings[tiny_mce_asset.step_id]
- end
- if tiny_mce_asset.result_text_id.present?
- tiny_mce_asset.result_text_id =
- @result_text_mappings[tiny_mce_asset.result_text_id]
+ if tiny_mce_asset.object_id.present?
+ mappings = instance_variable_get("@#{tiny_mce_asset.object_type.underscore}_mappings")
+ tiny_mce_asset.object_id = mappings[tiny_mce_asset.object_id]
end
tiny_mce_asset.team = team
tiny_mce_asset.image = tiny_mce_file
tiny_mce_asset.save!
@mce_asset_counter += 1
- if tiny_mce_asset.step_id.present?
- step = Step.find_by_id(tiny_mce_asset.step_id)
- step.description.sub!("[~tiny_mce_id:#{orig_tmce_id}]",
- "[~tiny_mce_id:#{tiny_mce_asset.id}]")
- step.save!
- end
- if tiny_mce_asset.result_text_id.present?
- result_text = ResultText.find_by_id(tiny_mce_asset.result_text_id)
- result_text.text.sub!("[~tiny_mce_id:#{orig_tmce_id}]",
- "[~tiny_mce_id:#{tiny_mce_asset.id}]")
+ if tiny_mce_asset.object_id.present?
+ object = tiny_mce_asset.object
+ object_field = Extends::RICH_TEXT_FIELD_MAPPINGS[object.class.name]
+ encoded_id = Base62.encode(tiny_mce_asset.id)
+ object.public_send(object_field).sub!("data-mce-token=\"#{Base62.encode(orig_tmce_id)}\"",
+ "data-mce-token=\"#{encoded_id}\"")
+ # Check for old fields
+ new_asset_format = ""
+ object.public_send(object_field).sub!("[~tiny_mce_id:#{orig_tmce_id}]",
+ new_asset_format)
+ object.save!
end
end
end