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