diff --git a/app/assets/javascripts/protocols/import_export/import.js b/app/assets/javascripts/protocols/import_export/import.js index 2922d37cc..e439dcac2 100644 --- a/app/assets/javascripts/protocols/import_export/import.js +++ b/app/assets/javascripts/protocols/import_export/import.js @@ -293,17 +293,16 @@ function importProtocolFromFile( stepGuid, element.getAttribute('fileref')); - if (description.includes('[~tiny_mce_id')) { - // old format load - imageTag = ''; - description = description.replace(match, imageTag); - } else { - // new format load - description = $('
' + description + '
').find('img[data-mce-token="' + element.getAttribute('tokenId') + '"]') - .attr('src', 'data:' + element.children[1].innerHTML + ';base64,' + assetBytes).prop('outerHTML'); - } - }); + // new format load + description = $('
' + description + '
'); + description.find('img[data-mce-token="' + element.getAttribute('tokenId') + '"]') + .attr('src', 'data:' + element.children[1].innerHTML + ';base64,' + assetBytes); + description = description.prop('outerHTML'); + // old format load + imageTag = ''; + description = description.replace(match, imageTag); + }); // I know is crazy but is the only way I found to pass valid HTML return $('
').html(description).html(); } diff --git a/app/utilities/protocols_importer.rb b/app/utilities/protocols_importer.rb index 056ada1d5..c09b0d897 100644 --- a/app/utilities/protocols_importer.rb +++ b/app/utilities/protocols_importer.rb @@ -158,10 +158,14 @@ module ProtocolsImporter ) tiny_mce_img.image_content_type = tiny_mce_img_json['fileType'] tiny_mce_img.save! + if description.gsub!("data-mce-token=\"#{tiny_mce_img_json['tokenId']}\"", + "data-mce-token=\"#{Base62.encode(tiny_mce_img.id)}\"") + description.gsub!(' ]]-->', '') - description.gsub!("data-mce-token=\"#{tiny_mce_img_json['tokenId']}\"", - "data-mce-token=\"#{Base62.encode(tiny_mce_img.id)}\"") - .gsub!(' ]]-->', '') + else + description.gsub!("data-mce-token=\"#{Base62.encode(tiny_mce_img_json['tokenId'].to_i)}\"", + "data-mce-token=\"#{Base62.encode(tiny_mce_img.id)}\"").gsub!(' ]]-->', '') + end end description end