show 'Resume' button if the Newsletter was paused.

This commit is contained in:
Amine Ben hammou
2017-07-21 14:51:50 +00:00
parent df9ba7e6c8
commit 4b4b5dd556
4 changed files with 64 additions and 18 deletions

View File

@@ -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"

View File

@@ -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);

View File

@@ -99,6 +99,7 @@ class NewslettersTest extends \MailPoetTest {
Newsletter::findOne($this->newsletter->id)
->withSegments()
->withOptions()
->withSendingQueue()
->asArray()
);
$hook_name = 'mailpoet_api_newsletters_get_after';

View File

@@ -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 %>