fix bulk actions and messages
This commit is contained in:
@ -27,48 +27,48 @@ const columns = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const messages = {
|
const messages = {
|
||||||
onTrash: function(response) {
|
onTrash: (response) => {
|
||||||
var count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
var message = null;
|
let message = null;
|
||||||
|
|
||||||
if(count === 1) {
|
if (count === 1) {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('oneFormTrashed')
|
MailPoet.I18n.t('oneFormTrashed')
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleFormsTrashed')
|
MailPoet.I18n.t('multipleFormsTrashed')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onDelete: function(response) {
|
onDelete: (response) => {
|
||||||
var count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
var message = null;
|
let message = null;
|
||||||
|
|
||||||
if(count === 1) {
|
if (count === 1) {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('oneFormDeleted')
|
MailPoet.I18n.t('oneFormDeleted')
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleFormsDeleted')
|
MailPoet.I18n.t('multipleFormsDeleted')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onRestore: function(response) {
|
onRestore: (response) => {
|
||||||
var count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
var message = null;
|
let message = null;
|
||||||
|
|
||||||
if(count === 1) {
|
if (count === 1) {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('oneFormRestored')
|
MailPoet.I18n.t('oneFormRestored')
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleFormsRestored')
|
MailPoet.I18n.t('multipleFormsRestored')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,10 @@ function(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(data.action) {
|
if(data.action) {
|
||||||
this.props.onBulkAction(selected_ids, data).then(onSuccess);
|
const promise = this.props.onBulkAction(selected_ids, data);
|
||||||
|
if (promise !== false) {
|
||||||
|
promise.then(onSuccess);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setState({
|
this.setState({
|
||||||
|
@ -577,7 +577,7 @@ const Listing = React.createClass({
|
|||||||
&& this.state.selected_ids.length === 0
|
&& this.state.selected_ids.length === 0
|
||||||
&& selected_ids !== 'all'
|
&& selected_ids !== 'all'
|
||||||
) {
|
) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setState({ loading: true });
|
this.setState({ loading: true });
|
||||||
|
@ -17,8 +17,8 @@ import {
|
|||||||
} from 'newsletters/scheduling/common.jsx'
|
} from 'newsletters/scheduling/common.jsx'
|
||||||
|
|
||||||
const messages = {
|
const messages = {
|
||||||
onTrash(response) {
|
onTrash: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -28,12 +28,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersTrashed')
|
MailPoet.I18n.t('multipleNewslettersTrashed')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onDelete(response) {
|
onDelete: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -43,12 +43,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersDeleted')
|
MailPoet.I18n.t('multipleNewslettersDeleted')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onRestore(response) {
|
onRestore: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -58,7 +58,7 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersRestored')
|
MailPoet.I18n.t('multipleNewslettersRestored')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
}
|
}
|
||||||
@ -127,16 +127,23 @@ const newsletter_actions = [
|
|||||||
return MailPoet.Ajax.post({
|
return MailPoet.Ajax.post({
|
||||||
endpoint: 'newsletters',
|
endpoint: 'newsletters',
|
||||||
action: 'duplicate',
|
action: 'duplicate',
|
||||||
data: newsletter.id
|
data: {
|
||||||
}).done(function(response) {
|
id: newsletter.id
|
||||||
if (response !== false && response.subject !== undefined) {
|
}
|
||||||
MailPoet.Notice.success(
|
}).done((response) => {
|
||||||
(MailPoet.I18n.t('newsletterDuplicated')).replace(
|
MailPoet.Notice.success(
|
||||||
'%$1s', response.subject
|
(MailPoet.I18n.t('newsletterDuplicated')).replace(
|
||||||
)
|
'%$1s', response.data.subject
|
||||||
|
)
|
||||||
|
);
|
||||||
|
refresh();
|
||||||
|
}).fail((response) => {
|
||||||
|
if (response.errors.length > 0) {
|
||||||
|
MailPoet.Notice.error(
|
||||||
|
response.errors.map(function(error) { return error.message; }),
|
||||||
|
{ scroll: true }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
refresh();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -12,8 +12,8 @@ import { QueueMixin, StatisticsMixin } from 'newsletters/listings/mixins.jsx'
|
|||||||
const mailpoet_tracking_enabled = (!!(window['mailpoet_tracking_enabled']));
|
const mailpoet_tracking_enabled = (!!(window['mailpoet_tracking_enabled']));
|
||||||
|
|
||||||
const messages = {
|
const messages = {
|
||||||
onTrash(response) {
|
onTrash: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -23,12 +23,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersTrashed')
|
MailPoet.I18n.t('multipleNewslettersTrashed')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onDelete(response) {
|
onDelete: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -38,12 +38,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersDeleted')
|
MailPoet.I18n.t('multipleNewslettersDeleted')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onRestore(response) {
|
onRestore: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -53,7 +53,7 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersRestored')
|
MailPoet.I18n.t('multipleNewslettersRestored')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
}
|
}
|
||||||
@ -122,16 +122,23 @@ const newsletter_actions = [
|
|||||||
return MailPoet.Ajax.post({
|
return MailPoet.Ajax.post({
|
||||||
endpoint: 'newsletters',
|
endpoint: 'newsletters',
|
||||||
action: 'duplicate',
|
action: 'duplicate',
|
||||||
data: newsletter.id
|
data: {
|
||||||
}).done(function(response) {
|
id: newsletter.id
|
||||||
if (response !== false && response.subject !== undefined) {
|
}
|
||||||
MailPoet.Notice.success(
|
}).done((response) => {
|
||||||
(MailPoet.I18n.t('newsletterDuplicated')).replace(
|
MailPoet.Notice.success(
|
||||||
'%$1s', response.subject
|
(MailPoet.I18n.t('newsletterDuplicated')).replace(
|
||||||
)
|
'%$1s', response.data.subject
|
||||||
|
)
|
||||||
|
);
|
||||||
|
refresh();
|
||||||
|
}).fail((response) => {
|
||||||
|
if (response.errors.length > 0) {
|
||||||
|
MailPoet.Notice.error(
|
||||||
|
response.errors.map(function(error) { return error.message; }),
|
||||||
|
{ scroll: true }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
refresh();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -15,8 +15,8 @@ const mailpoet_segments = window.mailpoet_segments || {};
|
|||||||
const mailpoet_tracking_enabled = (!!(window['mailpoet_tracking_enabled']));
|
const mailpoet_tracking_enabled = (!!(window['mailpoet_tracking_enabled']));
|
||||||
|
|
||||||
const messages = {
|
const messages = {
|
||||||
onTrash(response) {
|
onTrash: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -26,12 +26,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersTrashed')
|
MailPoet.I18n.t('multipleNewslettersTrashed')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onDelete(response) {
|
onDelete: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -41,12 +41,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersDeleted')
|
MailPoet.I18n.t('multipleNewslettersDeleted')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onRestore(response) {
|
onRestore: (response) => {
|
||||||
const count = ~~response;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -56,7 +56,7 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleNewslettersRestored')
|
MailPoet.I18n.t('multipleNewslettersRestored')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
}
|
}
|
||||||
@ -125,16 +125,23 @@ const newsletter_actions = [
|
|||||||
return MailPoet.Ajax.post({
|
return MailPoet.Ajax.post({
|
||||||
endpoint: 'newsletters',
|
endpoint: 'newsletters',
|
||||||
action: 'duplicate',
|
action: 'duplicate',
|
||||||
data: newsletter.id
|
data: {
|
||||||
}).done(function(response) {
|
id: newsletter.id
|
||||||
if (response !== false && response.subject !== undefined) {
|
}
|
||||||
MailPoet.Notice.success(
|
}).done((response) => {
|
||||||
(MailPoet.I18n.t('newsletterDuplicated')).replace(
|
MailPoet.Notice.success(
|
||||||
'%$1s', response.subject
|
(MailPoet.I18n.t('newsletterDuplicated')).replace(
|
||||||
)
|
'%$1s', response.data.subject
|
||||||
|
)
|
||||||
|
);
|
||||||
|
refresh();
|
||||||
|
}).fail((response) => {
|
||||||
|
if (response.errors.length > 0) {
|
||||||
|
MailPoet.Notice.error(
|
||||||
|
response.errors.map(function(error) { return error.message; }),
|
||||||
|
{ scroll: true }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
refresh();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -113,17 +113,16 @@ const WelcomeScheduling = React.createClass({
|
|||||||
type: 'welcome',
|
type: 'welcome',
|
||||||
options: this.state
|
options: this.state
|
||||||
}
|
}
|
||||||
}).done(function(response) {
|
}).done((response) => {
|
||||||
if (response.result && response.newsletter.id) {
|
this.showTemplateSelection(response.data.id);
|
||||||
this.showTemplateSelection(response.newsletter.id);
|
}).fail((response) => {
|
||||||
} else {
|
|
||||||
if (response.errors.length > 0) {
|
if (response.errors.length > 0) {
|
||||||
response.errors.map(function(error) {
|
MailPoet.Notice.error(
|
||||||
MailPoet.Notice.error(error);
|
response.errors.map(function(error) { return error.message; }),
|
||||||
});
|
{ scroll: true }
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
}.bind(this));
|
|
||||||
},
|
},
|
||||||
showTemplateSelection: function(newsletterId) {
|
showTemplateSelection: function(newsletterId) {
|
||||||
this.context.router.push(`/template/${ newsletterId }`);
|
this.context.router.push(`/template/${ newsletterId }`);
|
||||||
|
@ -57,18 +57,17 @@ define(
|
|||||||
data: _.extend({}, this.state, {
|
data: _.extend({}, this.state, {
|
||||||
type: 'welcome',
|
type: 'welcome',
|
||||||
subject: MailPoet.I18n.t('draftNewsletterTitle'),
|
subject: MailPoet.I18n.t('draftNewsletterTitle'),
|
||||||
}),
|
})
|
||||||
}).done(function(response) {
|
}).done((response) => {
|
||||||
if(response.result && response.newsletter.id) {
|
this.showTemplateSelection(response.data.id);
|
||||||
this.showTemplateSelection(response.newsletter.id);
|
}).fail((response) => {
|
||||||
} else {
|
if (response.errors.length > 0) {
|
||||||
if(response.errors.length > 0) {
|
MailPoet.Notice.error(
|
||||||
response.errors.map(function(error) {
|
response.errors.map(function(error) { return error.message; }),
|
||||||
MailPoet.Notice.error(error);
|
{ scroll: true }
|
||||||
});
|
);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}.bind(this));
|
});
|
||||||
},
|
},
|
||||||
showTemplateSelection: function(newsletterId) {
|
showTemplateSelection: function(newsletterId) {
|
||||||
this.context.router.push(`/template/${newsletterId}`);
|
this.context.router.push(`/template/${newsletterId}`);
|
||||||
|
@ -37,7 +37,7 @@ var columns = [
|
|||||||
|
|
||||||
const messages = {
|
const messages = {
|
||||||
onTrash: (response) => {
|
onTrash: (response) => {
|
||||||
let count = ~~response.meta.count;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -47,12 +47,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleSegmentsTrashed')
|
MailPoet.I18n.t('multipleSegmentsTrashed')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onDelete: (response) => {
|
onDelete: (response) => {
|
||||||
let count = ~~response.meta.count;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -62,12 +62,12 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleSegmentsDeleted')
|
MailPoet.I18n.t('multipleSegmentsDeleted')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onRestore: (response) => {
|
onRestore: (response) => {
|
||||||
let count = ~~response.meta.count;
|
const count = ~~response.meta.count;
|
||||||
let message = null;
|
let message = null;
|
||||||
|
|
||||||
if (count === 1) {
|
if (count === 1) {
|
||||||
@ -77,7 +77,7 @@ const messages = {
|
|||||||
} else {
|
} else {
|
||||||
message = (
|
message = (
|
||||||
MailPoet.I18n.t('multipleSegmentsRestored')
|
MailPoet.I18n.t('multipleSegmentsRestored')
|
||||||
).replace('%$1d', count);
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
MailPoet.Notice.success(message);
|
MailPoet.Notice.success(message);
|
||||||
}
|
}
|
||||||
|
@ -37,59 +37,50 @@ const columns = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const messages = {
|
const messages = {
|
||||||
onTrash: function(response) {
|
onTrash: (response) => {
|
||||||
if (response) {
|
const count = ~~response.meta.count;
|
||||||
var message = null;
|
let message = null;
|
||||||
if (~~response === 1) {
|
|
||||||
message = (
|
|
||||||
MailPoet.I18n.t('oneSubscriberTrashed')
|
|
||||||
);
|
|
||||||
} else if (~~response > 1) {
|
|
||||||
message = (
|
|
||||||
MailPoet.I18n.t('multipleSubscribersTrashed')
|
|
||||||
).replace('%$1d', (~~response).toLocaleString());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (message !== null) {
|
if (count === 1) {
|
||||||
MailPoet.Notice.success(message);
|
message = (
|
||||||
}
|
MailPoet.I18n.t('oneSubscriberTrashed')
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
message = (
|
||||||
|
MailPoet.I18n.t('multipleSubscribersTrashed')
|
||||||
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onDelete: function(response) {
|
onDelete: (response) => {
|
||||||
if (response) {
|
const count = ~~response.meta.count;
|
||||||
var message = null;
|
let message = null;
|
||||||
if (~~response === 1) {
|
|
||||||
message = (
|
|
||||||
MailPoet.I18n.t('oneSubscriberDeleted')
|
|
||||||
);
|
|
||||||
} else if (~~response > 1) {
|
|
||||||
message = (
|
|
||||||
MailPoet.I18n.t('multipleSubscribersDeleted')
|
|
||||||
).replace('%$1d', ~~response);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (message !== null) {
|
if (count === 1) {
|
||||||
MailPoet.Notice.success(message);
|
message = (
|
||||||
}
|
MailPoet.I18n.t('oneSubscriberDeleted')
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
message = (
|
||||||
|
MailPoet.I18n.t('multipleSubscribersDeleted')
|
||||||
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
|
MailPoet.Notice.success(message);
|
||||||
},
|
},
|
||||||
onRestore: function(response) {
|
onRestore: (response) => {
|
||||||
if (response) {
|
const count = ~~response.meta.count;
|
||||||
var message = null;
|
let message = null;
|
||||||
if (~~response === 1) {
|
|
||||||
message = (
|
|
||||||
MailPoet.I18n.t('oneSubscriberRestored')
|
|
||||||
);
|
|
||||||
} else if (~~response > 1) {
|
|
||||||
message = (
|
|
||||||
MailPoet.I18n.t('multipleSubscribersRestored')
|
|
||||||
).replace('%$1d', (~~response).toLocaleString());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (message !== null) {
|
if (count === 1) {
|
||||||
MailPoet.Notice.success(message);
|
message = (
|
||||||
}
|
MailPoet.I18n.t('oneSubscriberRestored')
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
message = (
|
||||||
|
MailPoet.I18n.t('multipleSubscribersRestored')
|
||||||
|
).replace('%$1d', count.toLocaleString());
|
||||||
}
|
}
|
||||||
|
MailPoet.Notice.success(message);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -120,8 +111,8 @@ const bulk_actions = [
|
|||||||
onSuccess: function(response) {
|
onSuccess: function(response) {
|
||||||
MailPoet.Notice.success(
|
MailPoet.Notice.success(
|
||||||
MailPoet.I18n.t('multipleSubscribersMovedToList')
|
MailPoet.I18n.t('multipleSubscribersMovedToList')
|
||||||
.replace('%$1d', (~~(response.subscribers)).toLocaleString())
|
.replace('%$1d', (~~(response.meta.count)).toLocaleString())
|
||||||
.replace('%$2s', response.segment)
|
.replace('%$2s', response.meta.segment)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -151,8 +142,8 @@ const bulk_actions = [
|
|||||||
onSuccess: function(response) {
|
onSuccess: function(response) {
|
||||||
MailPoet.Notice.success(
|
MailPoet.Notice.success(
|
||||||
MailPoet.I18n.t('multipleSubscribersAddedToList')
|
MailPoet.I18n.t('multipleSubscribersAddedToList')
|
||||||
.replace('%$1d', (~~response.subscribers).toLocaleString())
|
.replace('%$1d', (~~response.meta.count).toLocaleString())
|
||||||
.replace('%$2s', response.segment)
|
.replace('%$2s', response.meta.segment)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -182,8 +173,8 @@ const bulk_actions = [
|
|||||||
onSuccess: function(response) {
|
onSuccess: function(response) {
|
||||||
MailPoet.Notice.success(
|
MailPoet.Notice.success(
|
||||||
MailPoet.I18n.t('multipleSubscribersRemovedFromList')
|
MailPoet.I18n.t('multipleSubscribersRemovedFromList')
|
||||||
.replace('%$1d', (~~response.subscribers).toLocaleString())
|
.replace('%$1d', (~~response.meta.count).toLocaleString())
|
||||||
.replace('%$2s', response.segment)
|
.replace('%$2s', response.meta.segment)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -193,7 +184,7 @@ const bulk_actions = [
|
|||||||
onSuccess: function(response) {
|
onSuccess: function(response) {
|
||||||
MailPoet.Notice.success(
|
MailPoet.Notice.success(
|
||||||
MailPoet.I18n.t('multipleSubscribersRemovedFromAllLists')
|
MailPoet.I18n.t('multipleSubscribersRemovedFromAllLists')
|
||||||
.replace('%$1d', (~~response).toLocaleString())
|
.replace('%$1d', (~~response.meta.count).toLocaleString())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -203,7 +194,7 @@ const bulk_actions = [
|
|||||||
onSuccess: function(response) {
|
onSuccess: function(response) {
|
||||||
MailPoet.Notice.success(
|
MailPoet.Notice.success(
|
||||||
MailPoet.I18n.t('multipleConfirmationEmailsSent')
|
MailPoet.I18n.t('multipleConfirmationEmailsSent')
|
||||||
.replace('%$1d', (~~response).toLocaleString())
|
.replace('%$1d', (~~response.meta.count).toLocaleString())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -273,8 +273,8 @@ class Forms extends APIEndpoint {
|
|||||||
'\MailPoet\Models\Form',
|
'\MailPoet\Models\Form',
|
||||||
$data
|
$data
|
||||||
);
|
);
|
||||||
$count = $bulk_action->apply();
|
$meta = $bulk_action->apply();
|
||||||
return $this->successResponse(null, array('count' => $count));
|
return $this->successResponse(null, $meta);
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
return $this->errorResponse(array(
|
return $this->errorResponse(array(
|
||||||
$e->getCode() => $e->getMessage()
|
$e->getCode() => $e->getMessage()
|
||||||
|
@ -97,8 +97,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function setStatus($data = array()) {
|
function setStatus($data = array()) {
|
||||||
$id = (isset($data['id'])) ? (int)$data['id'] : false;
|
|
||||||
$newsletter = Newsletter::findOne($id);
|
|
||||||
$status = (isset($data['status']) ? $data['status'] : null);
|
$status = (isset($data['status']) ? $data['status'] : null);
|
||||||
|
|
||||||
if(!$status) {
|
if(!$status) {
|
||||||
@ -107,6 +105,9 @@ class Newsletters extends APIEndpoint {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$id = (isset($data['id'])) ? (int)$data['id'] : false;
|
||||||
|
$newsletter = Newsletter::findOne($id);
|
||||||
|
|
||||||
if($newsletter === false) {
|
if($newsletter === false) {
|
||||||
return $this->errorResponse(array(
|
return $this->errorResponse(array(
|
||||||
APIError::NOT_FOUND => __('This newsletter does not exist.')
|
APIError::NOT_FOUND => __('This newsletter does not exist.')
|
||||||
@ -120,7 +121,7 @@ class Newsletters extends APIEndpoint {
|
|||||||
return $this->errorResponse($errors);
|
return $this->errorResponse($errors);
|
||||||
} else {
|
} else {
|
||||||
return $this->successResponse(
|
return $this->successResponse(
|
||||||
$newsletter->asArray()
|
Newsletter::findOne($newsletter->id)->asArray()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -340,8 +341,8 @@ class Newsletters extends APIEndpoint {
|
|||||||
'\MailPoet\Models\Newsletter',
|
'\MailPoet\Models\Newsletter',
|
||||||
$data
|
$data
|
||||||
);
|
);
|
||||||
$count = $bulk_action->apply();
|
$meta = $bulk_action->apply();
|
||||||
return $this->successResponse(null, array('count' => $count));
|
return $this->successResponse(null, $meta);
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
return $this->errorResponse(array(
|
return $this->errorResponse(array(
|
||||||
$e->getCode() => $e->getMessage()
|
$e->getCode() => $e->getMessage()
|
||||||
|
@ -148,8 +148,8 @@ class Segments extends APIEndpoint {
|
|||||||
'\MailPoet\Models\Segment',
|
'\MailPoet\Models\Segment',
|
||||||
$data
|
$data
|
||||||
);
|
);
|
||||||
$count = $bulk_action->apply();
|
$meta = $bulk_action->apply();
|
||||||
return $this->successResponse(null, array('count' => $count));
|
return $this->successResponse(null, $meta);
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
return $this->errorResponse(array(
|
return $this->errorResponse(array(
|
||||||
$e->getCode() => $e->getMessage()
|
$e->getCode() => $e->getMessage()
|
||||||
|
@ -201,8 +201,8 @@ class Subscribers extends APIEndpoint {
|
|||||||
'\MailPoet\Models\Subscriber',
|
'\MailPoet\Models\Subscriber',
|
||||||
$data
|
$data
|
||||||
);
|
);
|
||||||
$count = $bulk_action->apply();
|
$meta = $bulk_action->apply();
|
||||||
return $this->successResponse(null, array('count' => $count));
|
return $this->successResponse(null, $meta);
|
||||||
} catch(\Exception $e) {
|
} catch(\Exception $e) {
|
||||||
return $this->errorResponse(array(
|
return $this->errorResponse(array(
|
||||||
$e->getCode() => $e->getMessage()
|
$e->getCode() => $e->getMessage()
|
||||||
|
@ -77,7 +77,7 @@ class Model extends \Sudzy\ValidModel {
|
|||||||
|
|
||||||
static function bulkTrash($orm) {
|
static function bulkTrash($orm) {
|
||||||
$model = get_called_class();
|
$model = get_called_class();
|
||||||
return self::bulkAction($orm, function($ids) use($model) {
|
$count = self::bulkAction($orm, function($ids) use($model) {
|
||||||
self::rawExecute(join(' ', array(
|
self::rawExecute(join(' ', array(
|
||||||
'UPDATE `'.$model::$_table.'`',
|
'UPDATE `'.$model::$_table.'`',
|
||||||
'SET `deleted_at` = NOW()',
|
'SET `deleted_at` = NOW()',
|
||||||
@ -86,13 +86,17 @@ class Model extends \Sudzy\ValidModel {
|
|||||||
$ids
|
$ids
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return array('count' => $count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkDelete($orm) {
|
static function bulkDelete($orm) {
|
||||||
$model = get_called_class();
|
$model = get_called_class();
|
||||||
return self::bulkAction($orm, function($ids) use($model) {
|
$count = self::bulkAction($orm, function($ids) use($model) {
|
||||||
$model::whereIn('id', $ids)->deleteMany();
|
$model::whereIn('id', $ids)->deleteMany();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return array('count' => $count);
|
||||||
}
|
}
|
||||||
|
|
||||||
function restore() {
|
function restore() {
|
||||||
@ -101,7 +105,7 @@ class Model extends \Sudzy\ValidModel {
|
|||||||
|
|
||||||
static function bulkRestore($orm) {
|
static function bulkRestore($orm) {
|
||||||
$model = get_called_class();
|
$model = get_called_class();
|
||||||
return self::bulkAction($orm, function($ids) use($model) {
|
$count = self::bulkAction($orm, function($ids) use($model) {
|
||||||
self::rawExecute(join(' ', array(
|
self::rawExecute(join(' ', array(
|
||||||
'UPDATE `'.$model::$_table.'`',
|
'UPDATE `'.$model::$_table.'`',
|
||||||
'SET `deleted_at` = NULL',
|
'SET `deleted_at` = NULL',
|
||||||
@ -110,6 +114,8 @@ class Model extends \Sudzy\ValidModel {
|
|||||||
$ids
|
$ids
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return array('count' => $count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkAction($orm, $callback = false) {
|
static function bulkAction($orm, $callback = false) {
|
||||||
|
@ -212,7 +212,7 @@ class Segment extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static function bulkTrash($orm) {
|
static function bulkTrash($orm) {
|
||||||
return parent::bulkAction($orm, function($ids) {
|
$count = parent::bulkAction($orm, function($ids) {
|
||||||
parent::rawExecute(join(' ', array(
|
parent::rawExecute(join(' ', array(
|
||||||
'UPDATE `'.self::$_table.'`',
|
'UPDATE `'.self::$_table.'`',
|
||||||
'SET `deleted_at` = NOW()',
|
'SET `deleted_at` = NOW()',
|
||||||
@ -220,14 +220,18 @@ class Segment extends Model {
|
|||||||
'AND `type` = "default"'
|
'AND `type` = "default"'
|
||||||
)), $ids);
|
)), $ids);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return array('count' => $count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkDelete($orm) {
|
static function bulkDelete($orm) {
|
||||||
return parent::bulkAction($orm, function($ids) {
|
$count = parent::bulkAction($orm, function($ids) {
|
||||||
// delete segments (only default)
|
// delete segments (only default)
|
||||||
Segment::whereIn('id', $ids)
|
Segment::whereIn('id', $ids)
|
||||||
->where('type', 'default')
|
->where('type', 'default')
|
||||||
->deleteMany();
|
->deleteMany();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return array('count' => $count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -538,7 +538,7 @@ class Subscriber extends Model {
|
|||||||
|
|
||||||
if($segment === false) return false;
|
if($segment === false) return false;
|
||||||
|
|
||||||
$subscribers_count = parent::bulkAction($orm,
|
$count = parent::bulkAction($orm,
|
||||||
function($subscriber_ids) use($segment) {
|
function($subscriber_ids) use($segment) {
|
||||||
SubscriberSegment::subscribeManyToSegments(
|
SubscriberSegment::subscribeManyToSegments(
|
||||||
$subscriber_ids, array($segment->id)
|
$subscriber_ids, array($segment->id)
|
||||||
@ -547,7 +547,7 @@ class Subscriber extends Model {
|
|||||||
);
|
);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'subscribers' => $subscribers_count,
|
'count' => $count,
|
||||||
'segment' => $segment->name
|
'segment' => $segment->name
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -558,7 +558,7 @@ class Subscriber extends Model {
|
|||||||
|
|
||||||
if($segment === false) return false;
|
if($segment === false) return false;
|
||||||
|
|
||||||
$subscribers_count = parent::bulkAction($orm,
|
$count = parent::bulkAction($orm,
|
||||||
function($subscriber_ids) use($segment) {
|
function($subscriber_ids) use($segment) {
|
||||||
SubscriberSegment::deleteManySubscriptions($subscriber_ids);
|
SubscriberSegment::deleteManySubscriptions($subscriber_ids);
|
||||||
SubscriberSegment::subscribeManyToSegments(
|
SubscriberSegment::subscribeManyToSegments(
|
||||||
@ -568,7 +568,7 @@ class Subscriber extends Model {
|
|||||||
);
|
);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'subscribers' => $subscribers_count,
|
'count' => $count,
|
||||||
'segment' => $segment->name
|
'segment' => $segment->name
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -579,7 +579,7 @@ class Subscriber extends Model {
|
|||||||
|
|
||||||
if($segment === false) return false;
|
if($segment === false) return false;
|
||||||
|
|
||||||
$subscribers_count = $orm->count();
|
$count = $orm->count();
|
||||||
|
|
||||||
parent::bulkAction($orm, function($subscriber_ids) use($segment) {
|
parent::bulkAction($orm, function($subscriber_ids) use($segment) {
|
||||||
SubscriberSegment::deleteManySubscriptions(
|
SubscriberSegment::deleteManySubscriptions(
|
||||||
@ -588,19 +588,21 @@ class Subscriber extends Model {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'subscribers' => $subscribers_count,
|
'count' => $count,
|
||||||
'segment' => $segment->name
|
'segment' => $segment->name
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkRemoveFromAllLists($orm, $data = array()) {
|
static function bulkRemoveFromAllLists($orm, $data = array()) {
|
||||||
$subscribers_count = $orm->count();
|
$count = $orm->count();
|
||||||
|
|
||||||
parent::bulkAction($orm, function($subscriber_ids) {
|
parent::bulkAction($orm, function($subscriber_ids) {
|
||||||
SubscriberSegment::deleteManySubscriptions($subscriber_ids);
|
SubscriberSegment::deleteManySubscriptions($subscriber_ids);
|
||||||
});
|
});
|
||||||
|
|
||||||
return $subscribers_count;
|
return array(
|
||||||
|
'count' => $count
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkSendConfirmationEmail($orm) {
|
static function bulkSendConfirmationEmail($orm) {
|
||||||
@ -615,13 +617,15 @@ class Subscriber extends Model {
|
|||||||
$emails_sent++;
|
$emails_sent++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $emails_sent;
|
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
|
return array(
|
||||||
|
'count' => $emails_sent
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkTrash($orm) {
|
static function bulkTrash($orm) {
|
||||||
return parent::bulkAction($orm, function($subscriber_ids) {
|
$count = parent::bulkAction($orm, function($subscriber_ids) {
|
||||||
self::rawExecute(join(' ', array(
|
self::rawExecute(join(' ', array(
|
||||||
'UPDATE `'.self::$_table.'`',
|
'UPDATE `'.self::$_table.'`',
|
||||||
'SET `deleted_at` = NOW()',
|
'SET `deleted_at` = NOW()',
|
||||||
@ -633,10 +637,12 @@ class Subscriber extends Model {
|
|||||||
$subscriber_ids
|
$subscriber_ids
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return array('count' => $count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkDelete($orm) {
|
static function bulkDelete($orm) {
|
||||||
return parent::bulkAction($orm, function($subscriber_ids) {
|
$count = parent::bulkAction($orm, function($subscriber_ids) {
|
||||||
// delete all subscriber/segment relationships
|
// delete all subscriber/segment relationships
|
||||||
SubscriberSegment::deleteManySubscriptions($subscriber_ids);
|
SubscriberSegment::deleteManySubscriptions($subscriber_ids);
|
||||||
|
|
||||||
@ -645,6 +651,8 @@ class Subscriber extends Model {
|
|||||||
->whereNull('wp_user_id')
|
->whereNull('wp_user_id')
|
||||||
->deleteMany();
|
->deleteMany();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return array('count' => $count);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function subscribed($orm) {
|
static function subscribed($orm) {
|
||||||
|
Reference in New Issue
Block a user