Replace not opened by opened none of

[MAILPOET-3950]
This commit is contained in:
Pavel Dohnal 2021-12-09 10:39:36 +01:00 committed by Veljko V
parent ddd627cea7
commit 638719e2b9
4 changed files with 12 additions and 7 deletions

View File

@ -16,7 +16,6 @@ export const EmailSegmentOptions = [
{ value: EmailActionTypes.MACHINE_OPENS_ABSOLUTE_COUNT, label: MailPoet.I18n.t('emailActionMachineOpensAbsoluteCount'), group: SegmentTypes.Email },
{ value: EmailActionTypes.OPENED, label: MailPoet.I18n.t('emailActionOpened'), group: SegmentTypes.Email },
{ value: EmailActionTypes.MACHINE_OPENED, label: MailPoet.I18n.t('emailActionMachineOpened'), group: SegmentTypes.Email },
{ value: EmailActionTypes.NOT_OPENED, label: MailPoet.I18n.t('emailActionNotOpened'), group: SegmentTypes.Email },
{ value: EmailActionTypes.CLICKED, label: MailPoet.I18n.t('emailActionClicked'), group: SegmentTypes.Email },
{ value: EmailActionTypes.CLICKED_ANY, label: MailPoet.I18n.t('emailActionClickedAnyEmail'), group: SegmentTypes.Email },
{ value: EmailActionTypes.NOT_CLICKED, label: MailPoet.I18n.t('emailActionNotClicked'), group: SegmentTypes.Email },
@ -59,7 +58,6 @@ const componentsMap = {
[EmailActionTypes.NOT_CLICKED]: EmailStatisticsFields,
[EmailActionTypes.OPENED]: EmailStatisticsFields,
[EmailActionTypes.MACHINE_OPENED]: EmailStatisticsFields,
[EmailActionTypes.NOT_OPENED]: EmailStatisticsFields,
[EmailActionTypes.CLICKED_ANY]: null,
};

View File

@ -15,7 +15,6 @@ const PrivacyProtectionNotice: React.FunctionComponent = () => {
EmailActionTypes.OPENS_ABSOLUTE_COUNT,
EmailActionTypes.MACHINE_OPENED,
EmailActionTypes.MACHINE_OPENS_ABSOLUTE_COUNT,
EmailActionTypes.NOT_OPENED,
];
let containsOpensFilter = false;

View File

@ -11,7 +11,6 @@ export enum EmailActionTypes {
MACHINE_OPENS_ABSOLUTE_COUNT = 'machineOpensAbsoluteCount',
OPENED = 'opened',
MACHINE_OPENED = 'machineOpened',
NOT_OPENED = 'notOpened',
CLICKED = 'clicked',
CLICKED_ANY = 'clickedAny',
NOT_CLICKED = 'notClicked',

View File

@ -5,6 +5,7 @@ namespace MailPoet\API\JSON\ResponseBuilders;
use MailPoet\Entities\DynamicSegmentFilterData;
use MailPoet\Entities\SegmentEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Segments\DynamicSegments\Filters\EmailAction;
use MailPoet\Segments\SegmentDependencyValidator;
use MailPoet\Segments\SegmentSubscribersRepository;
use MailPoet\Subscribers\SubscribersCountsController;
@ -60,10 +61,18 @@ class DynamicSegmentsResponseBuilder {
// new filters are always array, they support multiple values, the old didn't convert old filters to new format
$filter['wordpressRole'] = [$filter['wordpressRole']];
}
if (($filter['segmentType'] === DynamicSegmentFilterData::TYPE_EMAIL) && isset($filter['newsletter_id']) && !isset($filter['newsletters'])) {
if (($filter['segmentType'] === DynamicSegmentFilterData::TYPE_EMAIL)) {
// compatibility with older filters
$filter['newsletters'] = [intval($filter['newsletter_id'])];
unset($filter['newsletter_id']);
if (isset($filter['newsletter_id']) && !isset($filter['newsletters'])) {
// make sure the newsletters are an array
$filter['newsletters'] = [intval($filter['newsletter_id'])];
unset($filter['newsletter_id']);
}
if ($filter['action'] === EmailAction::ACTION_NOT_OPENED) {
// convert not opened
$filter['action'] = EmailAction::ACTION_OPENED;
$filter['operator'] = DynamicSegmentFilterData::OPERATOR_NONE;
}
}
$filters[] = $filter;
}