Fix 'send_at' option on the UI and bug in starting scheduled campaigns

This commit is contained in:
Kailash Nadh 2020-01-19 20:46:25 +05:30
parent 32a543bf4f
commit 6681f189fc
3 changed files with 13 additions and 5 deletions

View File

@ -217,6 +217,8 @@ class TheFormDef extends React.PureComponent {
}
componentWillReceiveProps(nextProps) {
// On initial load, toggle the send_later switch if the record
// has a "send_at" date.
if (nextProps.record.send_at === this.props.record.send_at) {
return
}
@ -260,6 +262,12 @@ class TheFormDef extends React.PureComponent {
values.body = this.props.body
values.content_type = this.props.contentType
if (values.send_at) {
values.send_later = true
} else {
values.send_later = false
}
// Create a new campaign.
this.setState({ loading: true })
if (!this.props.isSingle) {
@ -303,8 +311,7 @@ class TheFormDef extends React.PureComponent {
cs.MethodPut,
{
...values,
id: this.props.record.id,
send_at: !this.state.sendLater ? null : values.send_at
id: this.props.record.id
}
)
.then(resp => {

View File

@ -1,4 +1,4 @@
export const DateFormat = "ddd D MMM YYYY, hh:MM A"
export const DateFormat = "ddd D MMM YYYY, hh:mm A"
// Data types.
export const ModelUsers = "users"

View File

@ -411,8 +411,9 @@ u AS (
-- For each campaign above, update the to_send count.
UPDATE campaigns AS ca
SET to_send = co.to_send,
max_subscriber_id = co.max_subscriber_id,
started_at=(CASE WHEN ca.started_at IS NULL THEN NOW() ELSE ca.started_at END)
status = (CASE WHEN status != 'running' THEN 'running' ELSE status END),
max_subscriber_id = co.max_subscriber_id,
started_at=(CASE WHEN ca.started_at IS NULL THEN NOW() ELSE ca.started_at END)
FROM (SELECT * FROM counts) co
WHERE ca.id = co.campaign_id
)