Replace not clicked segment filter with clicked variant in UI

[MAILPOET-3951]
This commit is contained in:
Rostislav Wolny
2022-01-13 15:30:17 +01:00
committed by Veljko V
parent efa7a55486
commit ae24da9ea2
3 changed files with 6 additions and 2 deletions

View File

@ -19,7 +19,6 @@ export const EmailSegmentOptions = [
{ value: EmailActionTypes.MACHINE_OPENED, label: MailPoet.I18n.t('emailActionMachineOpened'), group: SegmentTypes.Email }, { value: EmailActionTypes.MACHINE_OPENED, label: MailPoet.I18n.t('emailActionMachineOpened'), group: SegmentTypes.Email },
{ value: EmailActionTypes.CLICKED, label: MailPoet.I18n.t('emailActionClicked'), 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.CLICKED_ANY, label: MailPoet.I18n.t('emailActionClickedAnyEmail'), group: SegmentTypes.Email },
{ value: EmailActionTypes.NOT_CLICKED, label: MailPoet.I18n.t('emailActionNotClicked'), group: SegmentTypes.Email },
]; ];
export function validateEmail(formItems: EmailFormItem): boolean { export function validateEmail(formItems: EmailFormItem): boolean {

View File

@ -77,6 +77,11 @@ class DynamicSegmentsResponseBuilder {
$filter['action'] = EmailAction::ACTION_OPENED; $filter['action'] = EmailAction::ACTION_OPENED;
$filter['operator'] = DynamicSegmentFilterData::OPERATOR_NONE; $filter['operator'] = DynamicSegmentFilterData::OPERATOR_NONE;
} }
if ($filter['action'] === EmailAction::ACTION_NOT_CLICKED) {
// convert not clicked
$filter['action'] = EmailAction::ACTION_CLICKED;
$filter['operator'] = DynamicSegmentFilterData::OPERATOR_NONE;
}
} }
$filters[] = $filter; $filters[] = $filter;
} }

View File

@ -153,7 +153,7 @@ class FilterDataMapper {
'operator' => $data['operator'] ?? DynamicSegmentFilterData::OPERATOR_ANY, 'operator' => $data['operator'] ?? DynamicSegmentFilterData::OPERATOR_ANY,
]; ];
if (($data['action'] === EmailAction::ACTION_CLICKED) || ($data['action'] === EmailAction::ACTION_NOT_CLICKED)) { if (($data['action'] === EmailAction::ACTION_CLICKED)) {
if (empty($data['newsletter_id'])) throw new InvalidFilterException('Missing newsletter id', InvalidFilterException::MISSING_NEWSLETTER_ID); if (empty($data['newsletter_id'])) throw new InvalidFilterException('Missing newsletter id', InvalidFilterException::MISSING_NEWSLETTER_ID);
$filterData['newsletter_id'] = $data['newsletter_id']; $filterData['newsletter_id'] = $data['newsletter_id'];
} else { } else {