Fix dynamic segments filtering in subscriber export
[MAILPOET-3177]
This commit is contained in:
committed by
Veljko V
parent
1b74c3e195
commit
aff4c9d5b7
@ -187,7 +187,7 @@ class ImportExportRepository {
|
|||||||
->setParameter('segmentName', $segment->getName());
|
->setParameter('segmentName', $segment->getName());
|
||||||
$filters = $segment->getDynamicFilters();
|
$filters = $segment->getDynamicFilters();
|
||||||
foreach ($filters as $filter) {
|
foreach ($filters as $filter) {
|
||||||
$qb = $this->filterHandler->apply($qb, $filter);
|
$qb = $this->filterHandler->apply($qb, $filter->getFilterData());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ namespace MailPoet\Subscribers\ImportExport;
|
|||||||
|
|
||||||
use MailPoet\CustomFields\CustomFieldsRepository;
|
use MailPoet\CustomFields\CustomFieldsRepository;
|
||||||
use MailPoet\Entities\CustomFieldEntity;
|
use MailPoet\Entities\CustomFieldEntity;
|
||||||
|
use MailPoet\Entities\DynamicSegmentFilterData;
|
||||||
use MailPoet\Entities\DynamicSegmentFilterEntity;
|
use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||||
use MailPoet\Entities\SegmentEntity;
|
use MailPoet\Entities\SegmentEntity;
|
||||||
use MailPoet\Entities\SubscriberCustomFieldEntity;
|
use MailPoet\Entities\SubscriberCustomFieldEntity;
|
||||||
@ -289,7 +290,7 @@ class ImportExportRepositoryTest extends \MailPoetTest {
|
|||||||
$segment1 = $this->createSegment('First', SegmentEntity::TYPE_DEFAULT);
|
$segment1 = $this->createSegment('First', SegmentEntity::TYPE_DEFAULT);
|
||||||
$segment2 = $this->createSegment('Dynamic Segment', SegmentEntity::TYPE_DYNAMIC);
|
$segment2 = $this->createSegment('Dynamic Segment', SegmentEntity::TYPE_DYNAMIC);
|
||||||
$this->createDynamicSegmentFilter($segment2, [
|
$this->createDynamicSegmentFilter($segment2, [
|
||||||
'segmentType' => DynamicSegmentFilterEntity::TYPE_USER_ROLE,
|
'segmentType' => DynamicSegmentFilterData::TYPE_USER_ROLE,
|
||||||
'wordpressRole' => 'editor',
|
'wordpressRole' => 'editor',
|
||||||
]);
|
]);
|
||||||
$this->createSubscriberSegment($user4, $segment1, SubscriberEntity::STATUS_SUBSCRIBED);
|
$this->createSubscriberSegment($user4, $segment1, SubscriberEntity::STATUS_SUBSCRIBED);
|
||||||
@ -382,7 +383,7 @@ class ImportExportRepositoryTest extends \MailPoetTest {
|
|||||||
SegmentEntity $segment,
|
SegmentEntity $segment,
|
||||||
array $filterData
|
array $filterData
|
||||||
): DynamicSegmentFilterEntity {
|
): DynamicSegmentFilterEntity {
|
||||||
$filter = new DynamicSegmentFilterEntity($segment, $filterData);
|
$filter = new DynamicSegmentFilterEntity($segment, new DynamicSegmentFilterData($filterData));
|
||||||
$this->entityManager->persist($filter);
|
$this->entityManager->persist($filter);
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
return $filter;
|
return $filter;
|
||||||
|
Reference in New Issue
Block a user