Browse Source

Follow up 82f28ed - Fixes #5330 - Textarea field is not shown correctly in a trigger.

Dominik Klein 3 months ago
parent
commit
90df570120

+ 1 - 1
lib/notification_factory/renderer.rb

@@ -111,7 +111,7 @@ examples how to use
         previous_object_refs = temp
       elsif index == object_methods.length - 1 && (is_textarea_attribute = textarea_attributes(object_refs).include?(method))
         temp = object_refs
-        object_refs = object_refs.send(method.to_sym).text2html
+        object_refs = object_refs.send(method.to_sym)&.text2html
         previous_object_refs = temp
         escape = false
       end

+ 4 - 3
spec/lib/notification_factory/renderer_spec.rb

@@ -511,10 +511,11 @@ RSpec.describe NotificationFactory::Renderer do
       context 'with a textarea attribute' do
         let(:create_object_manager_attribute) do
           create(:object_manager_attribute_textarea, name: 'textarea')
+          create(:object_manager_attribute_textarea, name: 'textarea_empty')
         end
-        let(:ticket)          { create(:ticket, customer: @user, textarea: "Line 1\nLine 2\nLine 3") }
-        let(:template)        { '#{ticket.textarea} _SEPERATOR_ #{ticket.textarea.value}' }
-        let(:expected_render) { 'Line 1<br>Line 2<br>Line 3 _SEPERATOR_ Line 1<br>Line 2<br>Line 3' }
+        let(:ticket)          { create(:ticket, customer: @user, textarea: "Line 1\nLine 2\nLine 3", textarea_empty: nil) }
+        let(:template)        { '#{ticket.textarea} _SEPERATOR_ #{ticket.textarea.value} _SEPERATOR_ #{ticket.textarea_empty} _SEPERATOR_ #{ticket.textarea_empty.value}' }
+        let(:expected_render) { 'Line 1<br>Line 2<br>Line 3 _SEPERATOR_ Line 1<br>Line 2<br>Line 3 _SEPERATOR_  _SEPERATOR_ ' }
 
         it_behaves_like 'correctly rendering the attributes'
       end