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