diff --git a/app/controllers/api/v1/accounts/inboxes_controller.rb b/app/controllers/api/v1/accounts/inboxes_controller.rb
index 78b4b9e2f..4750e3b4a 100644
--- a/app/controllers/api/v1/accounts/inboxes_controller.rb
+++ b/app/controllers/api/v1/accounts/inboxes_controller.rb
@@ -70,11 +70,9 @@ class Api::V1::Accounts::InboxesController < Api::V1::Accounts::BaseController
end
def sync_templates
- unless @inbox.channel.is_a?(Channel::Whatsapp)
- return render status: :unprocessable_entity, json: { error: 'Template sync is only available for WhatsApp channels' }
- end
+ return render status: :unprocessable_entity, json: { error: 'Template sync is only available for WhatsApp channels' } unless whatsapp_channel?
- Channels::Whatsapp::TemplatesSyncJob.perform_later(@inbox.channel)
+ trigger_template_sync
render status: :ok, json: { message: 'Template sync initiated successfully' }
rescue StandardError => e
render status: :internal_server_error, json: { error: e.message }
@@ -185,6 +183,18 @@ class Api::V1::Accounts::InboxesController < Api::V1::Accounts::BaseController
[]
end
end
+
+ def whatsapp_channel?
+ @inbox.whatsapp? || (@inbox.twilio? && @inbox.channel.whatsapp?)
+ end
+
+ def trigger_template_sync
+ if @inbox.whatsapp?
+ Channels::Whatsapp::TemplatesSyncJob.perform_later(@inbox.channel)
+ elsif @inbox.twilio? && @inbox.channel.whatsapp?
+ Channels::Twilio::TemplatesSyncJob.perform_later(@inbox.channel)
+ end
+ end
end
Api::V1::Accounts::InboxesController.prepend_mod_with('Api::V1::Accounts::InboxesController')
diff --git a/app/javascript/dashboard/components-next/NewConversation/components/WhatsappTemplateParser.vue b/app/javascript/dashboard/components-next/NewConversation/components/WhatsappTemplateParser.vue
deleted file mode 100644
index ce1520f79..000000000
--- a/app/javascript/dashboard/components-next/NewConversation/components/WhatsappTemplateParser.vue
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
-
- {{
- t(
- 'COMPOSE_NEW_CONVERSATION.FORM.WHATSAPP_OPTIONS.TEMPLATE_PARSER.TEMPLATE_NAME',
- { templateName: templateName }
- )
- }}
-
-
-
-
- {{
- t(
- 'COMPOSE_NEW_CONVERSATION.FORM.WHATSAPP_OPTIONS.TEMPLATE_PARSER.VARIABLES'
- )
- }}
-
-
-
-
- {{ key }}
-
-
-
-
-
-
-
-
-
-
diff --git a/app/javascript/dashboard/components-next/message/bubbles/Email/Index.vue b/app/javascript/dashboard/components-next/message/bubbles/Email/Index.vue
index 63b5f8eef..07c6167f7 100644
--- a/app/javascript/dashboard/components-next/message/bubbles/Email/Index.vue
+++ b/app/javascript/dashboard/components-next/message/bubbles/Email/Index.vue
@@ -41,9 +41,7 @@ const originalEmailText = computed(() => {
});
const originalEmailHtml = computed(
- () =>
- contentAttributes?.value?.email?.htmlContent?.full ??
- originalEmailText.value
+ () => contentAttributes?.value?.email?.htmlContent?.full || ''
);
const messageContent = computed(() => {
diff --git a/app/javascript/dashboard/components-next/whatsapp/WhatsAppTemplateParser.vue b/app/javascript/dashboard/components-next/whatsapp/WhatsAppTemplateParser.vue
index aa28bcdd3..cf62a6d5d 100644
--- a/app/javascript/dashboard/components-next/whatsapp/WhatsAppTemplateParser.vue
+++ b/app/javascript/dashboard/components-next/whatsapp/WhatsAppTemplateParser.vue
@@ -1,4 +1,13 @@