Add 'Bounced' status to subscribers [MAILPOET-684]

Fix SubscriberTest->testItHasGroupFilter() making only one of four assertions due to lack of data.
Fix a small issue with Import. Unexpected values for the status field were converted to 'unconfirmed' rather than 'subscribed' due to non-strict comparison in in_array(). This hindered 'bounced' status import as well.
This commit is contained in:
Alexey Stoletniy
2016-11-28 19:37:47 +03:00
parent 299c922cef
commit 36b935b9ae
14 changed files with 89 additions and 8 deletions

View File

@@ -28,6 +28,10 @@ var columns = [
name: 'unsubscribed',
label: MailPoet.I18n.t('unsubscribed')
},
{
name: 'bounced',
label: MailPoet.I18n.t('bounced')
},
{
name: 'created_at',
label: MailPoet.I18n.t('createdOn'),
@@ -192,6 +196,7 @@ const SegmentList = React.createClass({
const subscribed = ~~(segment.subscribers_count.subscribed || 0);
const unconfirmed = ~~(segment.subscribers_count.unconfirmed || 0);
const unsubscribed = ~~(segment.subscribers_count.unsubscribed || 0);
const bounced = ~~(segment.subscribers_count.bounced || 0);
let segment_name;
@@ -229,6 +234,9 @@ const SegmentList = React.createClass({
<td className="column-date" data-colname={ MailPoet.I18n.t('unsubscribed') }>
<abbr>{ unsubscribed.toLocaleString() }</abbr>
</td>
<td className="column-date" data-colname={ MailPoet.I18n.t('bounced') }>
<abbr>{ bounced.toLocaleString() }</abbr>
</td>
<td className="column-date" data-colname={ MailPoet.I18n.t('createdOn') }>
<abbr>{ MailPoet.Date.format(segment.created_at) }</abbr>
</td>

View File

@@ -45,7 +45,8 @@ define(
values: {
'subscribed': MailPoet.I18n.t('subscribed'),
'unconfirmed': MailPoet.I18n.t('unconfirmed'),
'unsubscribed': MailPoet.I18n.t('unsubscribed')
'unsubscribed': MailPoet.I18n.t('unsubscribed'),
'bounced': MailPoet.I18n.t('bounced')
},
filter: function(subscriber, value) {
if (~~(subscriber.wp_user_id) > 0 && value === 'unconfirmed') {

View File

@@ -255,6 +255,10 @@ const SubscriberList = React.createClass({
case 'unsubscribed':
status = MailPoet.I18n.t('unsubscribed');
break;
case 'bounced':
status = MailPoet.I18n.t('bounced');
break;
}
let segments = false;