1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Tax\Model\Api\SearchCriteria\JoinProcessor;
use Magento\Framework\Api\SearchCriteria\CollectionProcessor\JoinProcessor\CustomJoinInterface;
use Magento\Framework\Data\Collection\AbstractDb;
/**
* Class CalculationData
* @package Magento\Tax\Model\Api\SearchCriteria\JoinProcessor
*/
class CalculationData implements CustomJoinInterface
{
/** Alias of table, that will be joined */
const CALCULATION_DATA_ALIAS = "cd";
/**
* @param \Magento\Tax\Model\ResourceModel\Calculation\Rule\Collection $collection
* @return bool
*/
public function apply(AbstractDb $collection)
{
$isNotApplied = !array_key_exists(
self::CALCULATION_DATA_ALIAS,
$collection->getSelect()->getPart(\Magento\Framework\Db\Select::FROM)
);
if ($isNotApplied) {
$collection->joinCalculationData(self::CALCULATION_DATA_ALIAS);
return true;
}
return false;
}
}