Add WooCommerce customers list [MAILPOET-1721]
This commit is contained in:
@@ -6,6 +6,10 @@ import PropTypes from 'prop-types';
|
||||
|
||||
import Listing from 'listing/listing.jsx';
|
||||
|
||||
const isWPUsersSegment = segment => segment.type === 'wp_users';
|
||||
const isWooCommerceCustomersSegment = segment => segment.type === 'woocommerce_users';
|
||||
const isSpecialSegment = segmt => isWPUsersSegment(segmt) || isWooCommerceCustomersSegment(segmt);
|
||||
|
||||
const columns = [
|
||||
{
|
||||
name: 'name',
|
||||
@@ -104,7 +108,7 @@ const itemActions = [
|
||||
);
|
||||
},
|
||||
display: function display(segment) {
|
||||
return (segment.type !== 'wp_users');
|
||||
return isWPUsersSegment(segment);
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -129,7 +133,7 @@ const itemActions = [
|
||||
);
|
||||
}),
|
||||
display: function display(segment) {
|
||||
return (segment.type !== 'wp_users');
|
||||
return !isSpecialSegment(segment);
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -144,7 +148,7 @@ const itemActions = [
|
||||
);
|
||||
},
|
||||
display: function display(segment) {
|
||||
return (segment.type === 'wp_users');
|
||||
return isWPUsersSegment(segment);
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -173,7 +177,7 @@ const itemActions = [
|
||||
});
|
||||
},
|
||||
display: function display(segment) {
|
||||
return (segment.type === 'wp_users');
|
||||
return isWPUsersSegment(segment);
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -187,7 +191,7 @@ const itemActions = [
|
||||
{
|
||||
name: 'trash',
|
||||
display: function display(segment) {
|
||||
return (segment.type !== 'wp_users');
|
||||
return !isSpecialSegment(segment);
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -207,8 +211,9 @@ class SegmentList extends React.Component {
|
||||
|
||||
let segmentName;
|
||||
|
||||
if (segment.type === 'wp_users') {
|
||||
// the WP users segment is not editable so just display its name
|
||||
if (isSpecialSegment(segment)) {
|
||||
// the WP users and WooCommerce customers segments
|
||||
// are not editable so just display their names
|
||||
segmentName = (
|
||||
<span className="row-title">{ segment.name }</span>
|
||||
);
|
||||
|
@@ -11,7 +11,7 @@ const fields = [
|
||||
label: MailPoet.I18n.t('email'),
|
||||
type: 'text',
|
||||
disabled: function disabled(subscriber) {
|
||||
return Number(subscriber.wp_user_id > 0);
|
||||
return Number(subscriber.wp_user_id > 0) || Number(subscriber.is_woocommerce_user) === 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -19,7 +19,7 @@ const fields = [
|
||||
label: MailPoet.I18n.t('firstname'),
|
||||
type: 'text',
|
||||
disabled: function disabled(subscriber) {
|
||||
return Number(subscriber.wp_user_id > 0);
|
||||
return Number(subscriber.wp_user_id > 0) || Number(subscriber.is_woocommerce_user) === 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -27,7 +27,7 @@ const fields = [
|
||||
label: MailPoet.I18n.t('lastname'),
|
||||
type: 'text',
|
||||
disabled: function disabled(subscriber) {
|
||||
return Number(subscriber.wp_user_id > 0);
|
||||
return Number(subscriber.wp_user_id > 0) || Number(subscriber.is_woocommerce_user) === 1;
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -41,7 +41,7 @@ const fields = [
|
||||
bounced: MailPoet.I18n.t('bounced'),
|
||||
},
|
||||
filter: function filter(subscriber, value) {
|
||||
if (Number(subscriber.wp_user_id) > 0 && value === 'unconfirmed') {
|
||||
if ((Number(subscriber.wp_user_id) > 0 || Number(subscriber.is_woocommerce_user) === 1) && value === 'unconfirmed') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@@ -238,7 +238,7 @@ const itemActions = [
|
||||
{
|
||||
name: 'trash',
|
||||
display: function display(subscriber) {
|
||||
return Number(subscriber.wp_user_id) === 0;
|
||||
return Number(subscriber.wp_user_id) === 0 && Number(subscriber.is_woocommerce_user) === 0;
|
||||
},
|
||||
},
|
||||
];
|
||||
|
Reference in New Issue
Block a user