diff --git a/assets/js/src/subscribers/form.jsx b/assets/js/src/subscribers/form.jsx
index 3d6a9d8faa..42c5097401 100644
--- a/assets/js/src/subscribers/form.jsx
+++ b/assets/js/src/subscribers/form.jsx
@@ -73,7 +73,7 @@ define(
});
},
filter: function(segment) {
- return !!(!segment.deleted_at);
+ return !!(!segment.deleted_at && segment.type === 'default');
},
getSearchLabel: function(segment, subscriber) {
let label = '';
diff --git a/assets/js/src/subscribers/list.jsx b/assets/js/src/subscribers/list.jsx
index d05d68688c..d15b1fc3c2 100644
--- a/assets/js/src/subscribers/list.jsx
+++ b/assets/js/src/subscribers/list.jsx
@@ -106,11 +106,6 @@ const bulk_actions = [
return !!(
!segment.deleted_at && segment.type === 'default'
);
- },
- getLabel: function (segment) {
- return (segment.subscribers > 0) ?
- segment.name + ' (' + parseInt(segment.subscribers).toLocaleString() + ')' :
- segment.name;
}
};
@@ -142,11 +137,6 @@ const bulk_actions = [
return !!(
!segment.deleted_at && segment.type === 'default'
);
- },
- getLabel: function (segment) {
- return (segment.subscribers > 0) ?
- segment.name + ' (' + parseInt(segment.subscribers).toLocaleString() + ')' :
- segment.name;
}
};
@@ -178,11 +168,6 @@ const bulk_actions = [
return !!(
segment.type === 'default'
);
- },
- getLabel: function (segment) {
- return (segment.subscribers > 0) ?
- segment.name + ' (' + parseInt(segment.subscribers).toLocaleString() + ')' :
- segment.name;
}
};
@@ -234,14 +219,17 @@ const item_actions = [
{
name: 'edit',
label: MailPoet.I18n.t('edit'),
- link: function(item) {
+ link: function(subscriber) {
return (
- {MailPoet.I18n.t('edit')}
+ {MailPoet.I18n.t('edit')}
);
}
},
{
- name: 'trash'
+ name: 'trash',
+ display: function(subscriber) {
+ return !!(~~subscriber.wp_user_id === 0);
+ }
}
];
@@ -280,15 +268,11 @@ const SubscriberList = React.createClass({
}
let segments = false;
- let subscribed_segments = [];
-
- // WordPress Users
- if (~~(subscriber.wp_user_id) > 0) {
- subscribed_segments.push(MailPoet.I18n.t('WPUsersSegment'));
- }
// Subscriptions
if (subscriber.subscriptions.length > 0) {
+ let subscribed_segments = [];
+
subscriber.subscriptions.map((subscription) => {
const segment = this.getSegmentFromId(subscription.segment_id);
if(segment === false) return;
@@ -296,13 +280,14 @@ const SubscriberList = React.createClass({
subscribed_segments.push(segment.name);
}
});
+
+ segments = (
+
+ { subscribed_segments.join(', ') }
+
+ );
}
- segments = (
-
- { subscribed_segments.join(', ') }
-
- );
let avatar = false;
if(subscriber.avatar_url) {
diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php
index 86de2278ac..93bb7caf58 100644
--- a/lib/Config/Menu.php
+++ b/lib/Config/Menu.php
@@ -355,7 +355,7 @@ class Menu {
$data = array();
$data['items_per_page'] = $this->getLimitPerPage('subscribers');
- $data['segments'] = Segment::getSegmentsWithSubscriberCount();
+ $data['segments'] = Segment::findArray();
$data['custom_fields'] = array_map(function($field) {
$field['params'] = unserialize($field['params']);
@@ -484,7 +484,7 @@ class Menu {
);
}
- function getLimitPerPage($model = null) {
+ private function getLimitPerPage($model = null) {
if($model === null) {
return Listing\Handler::DEFAULT_LIMIT_PER_PAGE;
}