From a52be7e002bc3c6f3470479e57fd6f4ec02198da Mon Sep 17 00:00:00 2001 From: Thomas Klein Date: Fri, 20 Jul 2018 10:23:03 +0200 Subject: [PATCH] fix condition list --- Cron/Erasure.php | 50 ++++++++++++------------------------------------ 1 file changed, 12 insertions(+), 38 deletions(-) diff --git a/Cron/Erasure.php b/Cron/Erasure.php index 9ddbfc9..713e342 100755 --- a/Cron/Erasure.php +++ b/Cron/Erasure.php @@ -7,8 +7,6 @@ namespace Opengento\Gdpr\Cron; -use Magento\Framework\Api\Filter; -use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\Api\SearchResultsInterface; use Magento\Framework\Exception\LocalizedException; @@ -54,11 +52,6 @@ class Erasure */ private $searchCriteriaBuilder; - /** - * @var \Magento\Framework\Api\FilterBuilder - */ - private $filterBuilder; - /** * @param \Psr\Log\LoggerInterface $logger * @param \Opengento\Gdpr\Model\Config $config @@ -66,7 +59,6 @@ class Erasure * @param \Opengento\Gdpr\Api\EraseCustomerManagementInterface $eraseCustomerManagement * @param \Opengento\Gdpr\Api\EraseCustomerRepositoryInterface $eraseCustomerRepository * @param \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder - * @param \Magento\Framework\Api\FilterBuilder $filterBuilder */ public function __construct( LoggerInterface $logger, @@ -74,8 +66,7 @@ public function __construct( Registry $registry, EraseCustomerManagementInterface $eraseCustomerManagement, EraseCustomerRepositoryInterface $eraseCustomerRepository, - SearchCriteriaBuilder $searchCriteriaBuilder, - FilterBuilder $filterBuilder + SearchCriteriaBuilder $searchCriteriaBuilder ) { $this->logger = $logger; $this->config = $config; @@ -83,7 +74,6 @@ public function __construct( $this->eraseCustomerManagement = $eraseCustomerManagement; $this->eraseCustomerRepository = $eraseCustomerRepository; $this->searchCriteriaBuilder = $searchCriteriaBuilder; - $this->filterBuilder = $filterBuilder; } /** @@ -117,16 +107,17 @@ public function execute() */ private function retrieveEraseCustomerList(): SearchResultsInterface { - $this->searchCriteriaBuilder->addFilters([ - $this->createFilter(EraseCustomerInterface::SCHEDULED_AT, new \DateTime(), 'lteq'), - $this->createFilter(EraseCustomerInterface::STATE, EraseCustomerInterface::STATE_PENDING), - $this->createFilter(EraseCustomerInterface::STATUS, EraseCustomerInterface::STATUS_READY), - ]); - $this->searchCriteriaBuilder->addFilters([ - $this->createFilter(EraseCustomerInterface::SCHEDULED_AT, new \DateTime(), 'lteq'), - $this->createFilter(EraseCustomerInterface::STATE, EraseCustomerInterface::STATE_PROCESSING), - $this->createFilter(EraseCustomerInterface::STATUS, EraseCustomerInterface::STATUS_FAILED), - ]); + $this->searchCriteriaBuilder->addFilter(EraseCustomerInterface::SCHEDULED_AT, new \DateTime(), 'lteq'); + $this->searchCriteriaBuilder->addFilter( + EraseCustomerInterface::STATE, + EraseCustomerInterface::STATE_COMPLETE, + 'neq' + ); + $this->searchCriteriaBuilder->addFilter( + EraseCustomerInterface::STATUS, + [EraseCustomerInterface::STATUS_READY, EraseCustomerInterface::STATUS_FAILED], + 'in' + ); try { $eraseCustomerList = $this->eraseCustomerRepository->getList($this->searchCriteriaBuilder->create()); @@ -136,21 +127,4 @@ private function retrieveEraseCustomerList(): SearchResultsInterface return $eraseCustomerList; } - - /** - * Create a new search criteria filter - * - * @param string $field - * @param array|string $value - * @param string $conditionType - * @return \Magento\Framework\Api\Filter - */ - private function createFilter(string $field, $value, string $conditionType = 'eq'): Filter - { - $this->filterBuilder->setField($field); - $this->filterBuilder->setValue($value); - $this->filterBuilder->setConditionType($conditionType); - - return $this->filterBuilder->create(); - } }