From fc32aa8606388303eb3a0f6e04587e461b6c375a Mon Sep 17 00:00:00 2001 From: Luka Murn Date: Thu, 17 Nov 2016 13:12:36 +0100 Subject: [PATCH] Add custom scrubber for QuillJs --- app/utilities/protocols_importer.rb | 6 +++++- app/utilities/scrubbers/quill_js_scrubber.rb | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 app/utilities/scrubbers/quill_js_scrubber.rb diff --git a/app/utilities/protocols_importer.rb b/app/utilities/protocols_importer.rb index 50a9466d5..7f1e9e59a 100644 --- a/app/utilities/protocols_importer.rb +++ b/app/utilities/protocols_importer.rb @@ -1,4 +1,5 @@ module ProtocolsImporter + require 'scrubbers/quill_js_scrubber' include RenamingUtil def import_new_protocol(protocol_json, organization, type, user) @@ -54,7 +55,10 @@ module ProtocolsImporter step = Step.create!( name: step_json["name"], description: # Sanitize description HTML - ActionController::Base.helpers.sanitize(step_json['description']), + ActionController::Base.helpers.sanitize( + step_json['description'], + scrubber: QuillJsScrubber.new + ), position: step_pos, completed: false, user: user, diff --git a/app/utilities/scrubbers/quill_js_scrubber.rb b/app/utilities/scrubbers/quill_js_scrubber.rb new file mode 100644 index 000000000..6cf6e296a --- /dev/null +++ b/app/utilities/scrubbers/quill_js_scrubber.rb @@ -0,0 +1,11 @@ +class QuillJsScrubber < Rails::Html::PermitScrubber + def initialize + super + self.tags = %w(h1 span p br pre ul li strong em u sub sup s a blockquote ol) + self.attributes = %w(style class spellcheck href target) + end + + def skip_node?(node) + node.text? + end +end