From 6bfa551c8511877b9a49b77e8ac1e891748c1b5d Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Tue, 12 Oct 2021 17:58:33 +0530 Subject: [PATCH] fix: Trigger campaigns only during business hours (#3085) Fixes #2433 --- .../api/v1/accounts/campaigns_controller.rb | 2 +- .../dashboard/i18n/locale/en/campaign.json | 1 + .../settings/campaigns/AddCampaign.vue | 13 +++++++ .../settings/campaigns/EditCampaign.vue | 15 ++++++++ app/javascript/widget/App.vue | 8 ++++- .../widget/helpers/campaignHelper.js | 19 ++++++---- ...amapginFixtures.js => campaignFixtures.js} | 2 ++ .../helpers/specs/campaignHelper.spec.js | 14 +++++--- app/javascript/widget/mixins/availability.js | 4 +++ .../widget/store/modules/campaign.js | 35 +++++++++++++++---- .../modules/specs/campaign/actions.spec.js | 26 +++++++++++--- app/models/campaign.rb | 33 ++++++++--------- .../api/v1/models/_campaign.json.jbuilder | 1 + .../v1/widget/campaigns/index.json.jbuilder | 1 + ...ing_business_hours_collect_to_campaigns.rb | 5 +++ db/schema.rb | 1 + 16 files changed, 142 insertions(+), 38 deletions(-) rename app/javascript/widget/helpers/specs/{camapginFixtures.js => campaignFixtures.js} (72%) create mode 100644 db/migrate/20210927062350_add_trigger_only_during_business_hours_collect_to_campaigns.rb diff --git a/app/controllers/api/v1/accounts/campaigns_controller.rb b/app/controllers/api/v1/accounts/campaigns_controller.rb index 229127df6..11b563d81 100644 --- a/app/controllers/api/v1/accounts/campaigns_controller.rb +++ b/app/controllers/api/v1/accounts/campaigns_controller.rb @@ -28,7 +28,7 @@ class Api::V1::Accounts::CampaignsController < Api::V1::Accounts::BaseController end def campaign_params - params.require(:campaign).permit(:title, :description, :message, :enabled, :inbox_id, :sender_id, + params.require(:campaign).permit(:title, :description, :message, :enabled, :trigger_only_during_business_hours, :inbox_id, :sender_id, :scheduled_at, audience: [:type, :id], trigger_rules: {}) end end diff --git a/app/javascript/dashboard/i18n/locale/en/campaign.json b/app/javascript/dashboard/i18n/locale/en/campaign.json index a348f2bb3..bbcc463ee 100644 --- a/app/javascript/dashboard/i18n/locale/en/campaign.json +++ b/app/javascript/dashboard/i18n/locale/en/campaign.json @@ -54,6 +54,7 @@ "ERROR": "Time on page is required" }, "ENABLED": "Enable campaign", + "TRIGGER_ONLY_BUSINESS_HOURS": "Trigger only during business hours", "SUBMIT": "Add Campaign" }, "API": { diff --git a/app/javascript/dashboard/routes/dashboard/settings/campaigns/AddCampaign.vue b/app/javascript/dashboard/routes/dashboard/settings/campaigns/AddCampaign.vue index 267188592..a71744939 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/campaigns/AddCampaign.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/campaigns/AddCampaign.vue @@ -146,6 +146,15 @@ /> {{ $t('CAMPAIGN.ADD.FORM.ENABLED') }} +