Skip to content

Commit

Permalink
fix: campaign start date with timezone
Browse files Browse the repository at this point in the history
  • Loading branch information
okradze committed Jan 10, 2024
1 parent 9cf91eb commit 85f6919
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 6 deletions.
22 changes: 22 additions & 0 deletions apps/ui/src/plugins/contact/pages/Campaign/Campaign.utils.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
export const getDateTimeFromDate = (date: Date) => {
const formattedDate = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(
2,
'0',
)}-${String(date.getDate()).padStart(2, '0')}T${String(date.getHours()).padStart(
2,
'0',
)}:${String(date.getMinutes()).padStart(2, '0')}`

return formattedDate
}

export const getDateTime = (dateString: string | undefined | null) => {
if (!dateString) return

const dateWithoutTimezone = `${dateString.split('T')[0]}T${
dateString.split('T')[1].split('+')[0].split('-')[0]
}`

const date = new Date(dateWithoutTimezone)
return getDateTimeFromDate(date)
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { useCreateCampaignService } from 'plugins/contact/services/campaign/useC
import { useContext, useState } from 'react'
import { useNavigate } from 'react-router-dom'
import { campaignValidationSchema } from './CampaignForm/useCampaignForm'
import { getDateTimeFromDate } from 'pages/Schedule/Schedule.utils'
import { getDateTimeFromDate } from './Campaign.utils'

export const useCreateCampaign = () => {
const [isLoading, setIsLoading] = useState(false)
Expand All @@ -16,12 +16,14 @@ export const useCreateCampaign = () => {
const { refetch: refetchCampaigns } = useCampaignsService()
const [createCampaign] = useCreateCampaignService()

const initialStartDate = getDateTimeFromDate(new Date(new Date().getTime() + 24 * 60 * 60 * 1000))

const initialValues = {
campaign_name: null,
campaign_agent_id: null,
campaign_group_id: null,
campaign_type: 'Outbound',
campaign_start_date: getDateTimeFromDate(new Date(new Date().getTime() + 24 * 60 * 60 * 1000)),
campaign_start_date: initialStartDate,
campaign_retry_attempts: 2,
campaign_retry_interval: 15,
campaign_working_hours_start: '10:00',
Expand All @@ -31,13 +33,14 @@ export const useCreateCampaign = () => {

const handleSubmit = async (values: any) => {
setIsLoading(true)

try {
const campaignInput = {
name: values.campaign_name,
agent_id: values.campaign_agent_id,
group_id: values.campaign_group_id,
type: values.campaign_type,
start_date: new Date(values.campaign_start_date).toISOString(),
start_date: values.campaign_start_date,
retry_attempts: values.campaign_retry_attempts,
retry_interval: values.campaign_retry_interval,
working_hours_start: values.campaign_working_hours_start,
Expand Down
8 changes: 5 additions & 3 deletions apps/ui/src/plugins/contact/pages/Campaign/useEditCampaign.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { useUpdateCampaignService } from 'plugins/contact/services/campaign/useU
import { useContext, useState } from 'react'
import { useNavigate, useParams } from 'react-router-dom'
import { campaignValidationSchema } from './CampaignForm/useCampaignForm'
import { getDateTime } from 'pages/Schedule/Schedule.utils'
import { getDateTime } from './Campaign.utils'

export const useEditCampaign = () => {
const { setToast } = useContext(ToastContext)
Expand All @@ -23,12 +23,14 @@ export const useEditCampaign = () => {

const [updateCampaign] = useUpdateCampaignService()

const initialStartDate = getDateTime(campaignById?.start_date)

const defaultValues = {
campaign_name: campaignById?.name,
campaign_type: campaignById?.type,
campaign_agent_id: campaignById?.agent_id,
campaign_group_id: campaignById?.group_id,
campaign_start_date: getDateTime(campaignById?.start_date),
campaign_start_date: initialStartDate,
campaign_retry_attempts: campaignById?.retry_attempts,
campaign_retry_interval: campaignById?.retry_interval,
campaign_working_hours_start: campaignById?.working_hours_start,
Expand All @@ -44,7 +46,7 @@ export const useEditCampaign = () => {
agent_id: values.campaign_agent_id,
group_id: values.campaign_group_id,
type: values.campaign_type,
start_date: new Date(values.campaign_start_date).toISOString(),
start_date: values.campaign_start_date,
retry_attempts: values.campaign_retry_attempts,
retry_interval: values.campaign_retry_interval,
working_hours_start: values.campaign_working_hours_start,
Expand Down

0 comments on commit 85f6919

Please sign in to comment.