From 5d959f648e0d1480423bc44e7d63e368c601183f Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Wed, 8 May 2019 14:23:26 +0200 Subject: [PATCH 1/5] Convert old tinymce assets to new on fly --- app/models/tiny_mce_asset.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/models/tiny_mce_asset.rb b/app/models/tiny_mce_asset.rb index a43392a5f..c5667e145 100644 --- a/app/models/tiny_mce_asset.rb +++ b/app/models/tiny_mce_asset.rb @@ -49,6 +49,9 @@ class TinyMceAsset < ApplicationRecord end def self.generate_url(description) + # Check tinymce for old format + description = update_old_tinymce(description) + description = Nokogiri::HTML(description) tm_assets = description.css('img') tm_assets.each do |tm_asset| @@ -105,7 +108,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 From f201c5440bde9ef101a2035dbdd77c68847ffe08 Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Wed, 8 May 2019 14:29:25 +0200 Subject: [PATCH 2/5] Add check for old tinymce for report and reassign process --- app/models/concerns/tiny_mce_images.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/models/concerns/tiny_mce_images.rb b/app/models/concerns/tiny_mce_images.rb index 1e4b3819e..ae154f651 100644 --- a/app/models/concerns/tiny_mce_images.rb +++ b/app/models/concerns/tiny_mce_images.rb @@ -13,6 +13,10 @@ module TinyMceImages def prepare_for_report(field) description = self[field] + + # Check tinymce for old format + description = TinyMceAsset.update_old_tinymce(description) + tiny_mce_assets.each do |tm_asset| tmp_f = Tempfile.open(tm_asset.image_file_name, Rails.root.join('tmp')) begin @@ -41,7 +45,11 @@ module TinyMceImages # and updates references in assosiated object's description def reassign_tiny_mce_image_references(images = []) object_field = Extends::RICH_TEXT_FIELD_MAPPINGS[self.class.name] - parsed_description = Nokogiri::HTML(read_attribute(object_field)) + description = read_attribute(object_field) + # Check tinymce for old format + description = TinyMceAsset.update_old_tinymce(description) + + parsed_description = Nokogiri::HTML(description) images.each do |image| old_id = image[0] new_id = image[1] From b2063d30180e3835c2bd12d88ab689a5630f43bd Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Wed, 8 May 2019 14:30:33 +0200 Subject: [PATCH 3/5] Fix markup --- app/models/concerns/tiny_mce_images.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/concerns/tiny_mce_images.rb b/app/models/concerns/tiny_mce_images.rb index ae154f651..f7a2bd94c 100644 --- a/app/models/concerns/tiny_mce_images.rb +++ b/app/models/concerns/tiny_mce_images.rb @@ -46,6 +46,7 @@ module TinyMceImages def reassign_tiny_mce_image_references(images = []) object_field = Extends::RICH_TEXT_FIELD_MAPPINGS[self.class.name] description = read_attribute(object_field) + # Check tinymce for old format description = TinyMceAsset.update_old_tinymce(description) From 5a5101410caf3a5534f637b95609293a5488045f Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Wed, 8 May 2019 14:35:28 +0200 Subject: [PATCH 4/5] Fix markup --- app/models/concerns/tiny_mce_images.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/concerns/tiny_mce_images.rb b/app/models/concerns/tiny_mce_images.rb index f7a2bd94c..88de79dea 100644 --- a/app/models/concerns/tiny_mce_images.rb +++ b/app/models/concerns/tiny_mce_images.rb @@ -46,7 +46,7 @@ module TinyMceImages def reassign_tiny_mce_image_references(images = []) object_field = Extends::RICH_TEXT_FIELD_MAPPINGS[self.class.name] description = read_attribute(object_field) - + # Check tinymce for old format description = TinyMceAsset.update_old_tinymce(description) From bee87f51baabd32095f2922467db1e905adecc8a Mon Sep 17 00:00:00 2001 From: Anton Ignatov Date: Wed, 8 May 2019 15:22:06 +0200 Subject: [PATCH 5/5] Fix tests --- app/models/tiny_mce_asset.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/models/tiny_mce_asset.rb b/app/models/tiny_mce_asset.rb index c5667e145..141f526d9 100644 --- a/app/models/tiny_mce_asset.rb +++ b/app/models/tiny_mce_asset.rb @@ -106,6 +106,8 @@ class TinyMceAsset < ApplicationRecord end def self.update_old_tinymce(description) + return description unless description + description.scan(/\[~tiny_mce_id:(\w+)\]/).flatten.each do |token| old_format = /\[~tiny_mce_id:#{token}\]/ new_format = ""