Newsletters can be sent!

This commit is contained in:
marco
2015-08-21 19:34:35 +02:00
parent e33153c112
commit dd5402b037
5 changed files with 43 additions and 6 deletions

View File

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

View File

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

View File

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

View File

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

View File

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