show 'Resume' button if the Newsletter was paused.
This commit is contained in:
@@ -149,6 +149,37 @@ define(
|
||||
}
|
||||
return false;
|
||||
},
|
||||
handleResume: function (e) {
|
||||
e.preventDefault();
|
||||
if(!this.isValid()) {
|
||||
jQuery('#mailpoet_newsletter').parsley().validate();
|
||||
} else {
|
||||
this._save(e).done(() => {
|
||||
this.setState({ loading: true });
|
||||
}).done(() => {
|
||||
MailPoet.Ajax.post({
|
||||
api_version: window.mailpoet_api_version,
|
||||
endpoint: 'sendingQueue',
|
||||
action: 'resume',
|
||||
data: {
|
||||
newsletter_id: this.state.item.id
|
||||
}
|
||||
}).done(() => {
|
||||
this.context.router.push(`/${ this.state.item.type || '' }`);
|
||||
}).fail((response) => {
|
||||
if (response.errors.length > 0) {
|
||||
MailPoet.Notice.error(
|
||||
response.errors.map((error) => { return error.message; }),
|
||||
{ scroll: true }
|
||||
);
|
||||
}
|
||||
});
|
||||
}).fail(this._showError).always(() => {
|
||||
this.setState({ loading: false });
|
||||
});
|
||||
}
|
||||
return false;
|
||||
},
|
||||
handleSave: function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
@@ -174,6 +205,7 @@ define(
|
||||
},
|
||||
_save: function () {
|
||||
const data = this.state.item;
|
||||
data.queue = undefined;
|
||||
this.setState({ loading: true });
|
||||
|
||||
// Store only properties that can be changed on this page
|
||||
@@ -238,6 +270,15 @@ define(
|
||||
{...this.getSendButtonOptions()}
|
||||
/>
|
||||
|
||||
{
|
||||
this.state.item.queue && this.state.item.queue.status == 'paused'
|
||||
? <input
|
||||
className="button button-secondary"
|
||||
type="button"
|
||||
onClick={ this.handleResume }
|
||||
value={MailPoet.I18n.t('resume')} />
|
||||
: null
|
||||
}
|
||||
<input
|
||||
className="button button-secondary"
|
||||
type="submit"
|
||||
|
@@ -33,6 +33,7 @@ class Newsletters extends APIEndpoint {
|
||||
$newsletter = $newsletter
|
||||
->withSegments()
|
||||
->withOptions()
|
||||
->withSendingQueue()
|
||||
->asArray();
|
||||
$newsletter = Hooks::applyFilters('mailpoet_api_newsletters_get_after', $newsletter);
|
||||
return $this->successResponse($newsletter);
|
||||
@@ -111,7 +112,7 @@ class Newsletters extends APIEndpoint {
|
||||
}
|
||||
|
||||
$queue = $newsletter->getQueue();
|
||||
if ($queue) {
|
||||
if($queue) {
|
||||
$queue->newsletter_rendered_body = null;
|
||||
$queue->newsletter_rendered_subject = null;
|
||||
$queue->save();
|
||||
|
@@ -99,6 +99,7 @@ class NewslettersTest extends \MailPoetTest {
|
||||
Newsletter::findOne($this->newsletter->id)
|
||||
->withSegments()
|
||||
->withOptions()
|
||||
->withSendingQueue()
|
||||
->asArray()
|
||||
);
|
||||
$hook_name = 'mailpoet_api_newsletters_get_after';
|
||||
|
@@ -1215,6 +1215,8 @@
|
||||
newsletter: response.data,
|
||||
config: config,
|
||||
});
|
||||
var queue = response.data.queue;
|
||||
if (queue && queue.status == 'scheduled') {
|
||||
MailPoet.Ajax.post({
|
||||
api_version: window.mailpoet_api_version,
|
||||
endpoint: 'sending_queue',
|
||||
@@ -1233,5 +1235,6 @@
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<% endblock %>
|
||||
|
Reference in New Issue
Block a user