chore: Sync pre-chat fields after custom attribute update (#4692)

This commit is contained in:
Muhsin Keloth
2022-06-20 14:16:49 +05:30
committed by GitHub
parent 6c6df8661b
commit a8c6cd729b
4 changed files with 57 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
class Inboxes::UpdateWidgetPreChatCustomFieldsJob < ApplicationJob
queue_as :default
def perform(account, custom_attribute)
attribute_key = custom_attribute['attribute_key']
account.web_widgets.all.find_each do |web_widget|
pre_chat_fields = web_widget.pre_chat_form_options['pre_chat_fields']
pre_chat_fields.each_with_index do |pre_chat_field, index|
next unless pre_chat_field['name'] == attribute_key
web_widget.pre_chat_form_options['pre_chat_fields'][index] =
pre_chat_field.deep_merge({
'label' => custom_attribute['attribute_display_name'],
'placeholder' => custom_attribute['attribute_display_name'],
'values' => custom_attribute['attribute_values']
})
end
web_widget.save!
end
end
end