diff --git a/assets/js/src/newsletters/listings/mixins.jsx b/assets/js/src/newsletters/listings/mixins.jsx
index e3aa7857ef..d140735a32 100644
--- a/assets/js/src/newsletters/listings/mixins.jsx
+++ b/assets/js/src/newsletters/listings/mixins.jsx
@@ -3,6 +3,8 @@ import MailPoet from 'mailpoet'
import classNames from 'classnames'
import jQuery from 'jquery'
+const mailer_log = window.mailpoet_settings.mta_log;
+
const _QueueMixin = {
pauseSending: function(newsletter) {
MailPoet.Ajax.post({
@@ -47,6 +49,10 @@ const _QueueMixin = {
return (
{MailPoet.I18n.t('notSentYet')}
);
+ } else if (mailer_log.status === 'paused') {
+ return (
+ {MailPoet.I18n.t('paused')}
+ )
} else {
if (newsletter.queue.status === 'scheduled') {
return (
@@ -175,5 +181,26 @@ const _StatisticsMixin = {
}
}
+const _MailerMixin = {
+ resumeSending: function() {
+ MailPoet.Ajax.post({
+ endpoint: 'mailer',
+ action: 'resumeSending'
+ }).done(function() {
+ jQuery('.mailpoet_sending_status.error').remove();
+ MailPoet.Notice.success(MailPoet.I18n.t('mailerSendingResumedNotice'));
+ // TODO: refresh listings to update the newsletter queue status
+ }).fail((response) => {
+ if (response.errors.length > 0) {
+ MailPoet.Notice.error(
+ response.errors.map(function(error) { return error.message; }),
+ { scroll: true }
+ );
+ }
+ });
+ }
+}
+
export { _QueueMixin as QueueMixin };
-export { _StatisticsMixin as StatisticsMixin };
\ No newline at end of file
+export { _StatisticsMixin as StatisticsMixin };
+export { _MailerMixin as MailerMixin };
\ No newline at end of file