Newsletters can be sent!
This commit is contained in:
@ -7,7 +7,6 @@ define('newsletters_form', ['react', 'jquery', 'mailpoet'], function(React, jQue
|
|||||||
action: 'save',
|
action: 'save',
|
||||||
data: data,
|
data: data,
|
||||||
onSuccess: function(response) {
|
onSuccess: function(response) {
|
||||||
console.log(response);
|
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -41,7 +40,7 @@ define('newsletters_form', ['react', 'jquery', 'mailpoet'], function(React, jQue
|
|||||||
<br />
|
<br />
|
||||||
<textarea placeholder="Body" ref="body" />
|
<textarea placeholder="Body" ref="body" />
|
||||||
<br />
|
<br />
|
||||||
<input type="submit" value="Post" />
|
<input type="submit" value="Save" />
|
||||||
</form>
|
</form>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,29 @@
|
|||||||
define('newsletters_list', ['react', 'jquery', 'mailpoet'], function(React, jQuery, MailPoet) {
|
define('newsletters_list', ['react', 'jquery', 'mailpoet'], function(React, jQuery, MailPoet) {
|
||||||
|
|
||||||
var Newsletter = React.createClass({
|
var Newsletter = React.createClass({
|
||||||
|
send: function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
MailPoet.Ajax.post({
|
||||||
|
endpoint: 'newsletters',
|
||||||
|
action: 'send',
|
||||||
|
data: this.props.newsletter.id,
|
||||||
|
onSuccess: function(response) {
|
||||||
|
alert('Sent!');
|
||||||
|
},
|
||||||
|
onError: function(response) {
|
||||||
|
alert('Cannot send. Set the settings and add some subscribers!');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
return (
|
return (
|
||||||
<div className="newsletter">
|
<div className="newsletter">
|
||||||
<h3 className="subject">
|
<p className="subject">
|
||||||
{this.props.newsletter.subject}
|
{this.props.newsletter.subject} - <a href="" onClick={this.send}>
|
||||||
</h3>
|
Send
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
define('settings', ['react/addons', 'jquery', 'mailpoet'], function(React, jQuery, MailPoet) {
|
define('settings', ['react/addons', 'jquery', 'mailpoet'], function(React, jQuery, MailPoet) {
|
||||||
|
|
||||||
var SettingsForm = React.createClass({
|
var SettingsForm = React.createClass({
|
||||||
mixins: [React.addons.LinkedStateMixin],
|
mixins: [React.addons.LinkedStateMixin],
|
||||||
load: function() {
|
load: function() {
|
||||||
@ -82,7 +83,7 @@ define('settings', ['react/addons', 'jquery', 'mailpoet'], function(React, jQuer
|
|||||||
From email:
|
From email:
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
valueLink={this.linkSettingValue('from_email')} />
|
valueLink={this.linkSettingValue('from_address')} />
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace MailPoet\Router;
|
namespace MailPoet\Router;
|
||||||
use \MailPoet\Models\Newsletter;
|
use \MailPoet\Models\Newsletter;
|
||||||
|
use \MailPoet\Models\Subscriber;
|
||||||
|
use \MailPoet\Mailer\Bridge;
|
||||||
|
|
||||||
if(!defined('ABSPATH')) exit;
|
if(!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
@ -32,4 +34,11 @@ class Newsletters {
|
|||||||
function delete($id) {
|
function delete($id) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function send($id) {
|
||||||
|
$newsletter = Newsletter::find_one($id)->as_array();
|
||||||
|
$subscribers = Subscriber::find_array();
|
||||||
|
$mailer = new Bridge($newsletter, $subscribers);
|
||||||
|
wp_send_json($mailer->send());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,6 +96,17 @@ class BridgeCest {
|
|||||||
->equals('application/json');
|
->equals('application/json');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function itCannotSendWithoutSubscribers() {
|
||||||
|
$subscribers = array();
|
||||||
|
|
||||||
|
$mailer = new Bridge(
|
||||||
|
$this->newsletter,
|
||||||
|
$subscribers
|
||||||
|
);
|
||||||
|
|
||||||
|
expect($mailer->send())->equals(false);
|
||||||
|
}
|
||||||
|
|
||||||
function itCanSend() {
|
function itCanSend() {
|
||||||
/* $result = $this->mailer->send(); */
|
/* $result = $this->mailer->send(); */
|
||||||
/* expect($result)->equals(true); */
|
/* expect($result)->equals(true); */
|
||||||
|
Reference in New Issue
Block a user