From 49a59d35a18639e2fdef136f71ad5cea813a5838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tautvidas=20Sipavi=C4=8Dius?= Date: Fri, 8 Apr 2016 14:16:05 +0300 Subject: [PATCH] Add number of subscribers to segment selection --- assets/js/src/newsletters/send/notification.jsx | 7 +++++++ assets/js/src/newsletters/send/standard.jsx | 7 +++++++ assets/js/src/newsletters/types/welcome/scheduling.jsx | 6 +++++- lib/Config/Menu.php | 2 +- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/assets/js/src/newsletters/send/notification.jsx b/assets/js/src/newsletters/send/notification.jsx index 7614994bdd..ac682d520d 100644 --- a/assets/js/src/newsletters/send/notification.jsx +++ b/assets/js/src/newsletters/send/notification.jsx @@ -39,6 +39,13 @@ define( filter: function(segment) { return !!(!segment.deleted_at); }, + getLabel: function(segment) { + var name = segment.name; + if (segment.subscribers > 0) { + name += ' (%$1s)'.replace('%$1s', segment.subscribers); + } + return name; + }, validation: { 'data-parsley-required': true, 'data-parsley-required-message': MailPoet.I18n.t('noSegmentsSelectedError') diff --git a/assets/js/src/newsletters/send/standard.jsx b/assets/js/src/newsletters/send/standard.jsx index c088fe5e5d..8350394bb3 100644 --- a/assets/js/src/newsletters/send/standard.jsx +++ b/assets/js/src/newsletters/send/standard.jsx @@ -31,6 +31,13 @@ define( filter: function(segment) { return !!(!segment.deleted_at); }, + getLabel: function(segment) { + var name = segment.name; + if (segment.subscribers > 0) { + name += ' (%$1s)'.replace('%$1s', segment.subscribers); + } + return name; + }, validation: { 'data-parsley-required': true, 'data-parsley-required-message': MailPoet.I18n.t('noSegmentsSelectedError') diff --git a/assets/js/src/newsletters/types/welcome/scheduling.jsx b/assets/js/src/newsletters/types/welcome/scheduling.jsx index 2f46e2071e..249e8ea0e2 100644 --- a/assets/js/src/newsletters/types/welcome/scheduling.jsx +++ b/assets/js/src/newsletters/types/welcome/scheduling.jsx @@ -32,7 +32,11 @@ define( var availableSegmentValues = _.object(_.map( availableSegments, function(segment) { - return [segment.id, segment.name]; + var name = segment.name; + if (segment.subscribers > 0) { + name += ' (%$1d)'.replace('%$1d', segment.subscribers); + } + return [segment.id, name]; } )); var segmentField = { diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php index cfefeeef1f..fddf07d8e3 100644 --- a/lib/Config/Menu.php +++ b/lib/Config/Menu.php @@ -364,7 +364,7 @@ class Menu { $data = array(); - $data['segments'] = Segment::getPublished()->findArray(); + $data['segments'] = Segment::getSegmentsWithSubscriberCount(); $data['settings'] = Setting::getAll(); $data['roles'] = $wp_roles->get_names(); $data['roles']['mailpoet_all'] = __('In any WordPress role');