From b9e40d145236967d2aa7bfdca5b9d899e142ed49 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Thu, 10 Jun 2021 15:04:03 +0530 Subject: [PATCH] feat: Add an option to enable/disable email collect box (#2399) * add email collect enabled migration * migrations * expose enable_email_collect field * add select for email collect * add enable_email condition on new conversation * add default value true for enable_email_collect * add specs for email collect enabled * rereun migration * code cleanup * update token life span to 2 months * revert uuid column --- .../api/v1/accounts/inboxes_controller.rb | 4 ++-- .../dashboard/i18n/locale/en/inboxMgmt.json | 6 ++++++ .../dashboard/settings/inbox/Settings.vue | 20 +++++++++++++++++++ app/models/inbox.rb | 1 + .../hook_execution_service.rb | 2 +- app/views/api/v1/models/_inbox.json.jbuilder | 1 + config/initializers/devise_token_auth.rb | 2 +- ...0609133433_add_email_collect_to_inboxes.rb | 5 +++++ db/schema.rb | 3 ++- .../hook_execution_service_spec.rb | 19 ++++++++++++++++-- 10 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 db/migrate/20210609133433_add_email_collect_to_inboxes.rb diff --git a/app/controllers/api/v1/accounts/inboxes_controller.rb b/app/controllers/api/v1/accounts/inboxes_controller.rb index 8a5f5b9b9..12c7a29e6 100644 --- a/app/controllers/api/v1/accounts/inboxes_controller.rb +++ b/app/controllers/api/v1/accounts/inboxes_controller.rb @@ -87,12 +87,12 @@ class Api::V1::Accounts::InboxesController < Api::V1::Accounts::BaseController end def permitted_params - params.permit(:id, :avatar, :name, :greeting_message, :greeting_enabled, channel: + params.permit(:id, :avatar, :name, :greeting_message, :greeting_enabled, :enable_email_collect, channel: [:type, :website_url, :widget_color, :welcome_title, :welcome_tagline, :webhook_url, :email, :reply_time]) end def inbox_update_params - params.permit(:enable_auto_assignment, :name, :avatar, :greeting_message, :greeting_enabled, + params.permit(:enable_auto_assignment, :enable_email_collect, :name, :avatar, :greeting_message, :greeting_enabled, :working_hours_enabled, :out_of_office_message, :timezone, channel: [ :website_url, diff --git a/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json index 09e4c9e9b..8948adfc4 100644 --- a/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json @@ -212,6 +212,10 @@ "AUTO_ASSIGNMENT": { "ENABLED": "Enabled", "DISABLED": "Disabled" + }, + "EMAIL_COLLECT_BOX": { + "ENABLED": "Enabled", + "DISABLED": "Disabled" } }, "DELETE": { @@ -248,6 +252,8 @@ "INBOX_AGENTS": "Agents", "INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", "UPDATE": "Update", + "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", + "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", "AUTO_ASSIGNMENT": "Enable auto assignment", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue index 4cd8a4d12..e44f75eb4 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue @@ -138,6 +138,23 @@

+ +