Skip to content

Commit 0b9d95b

Browse files
committed
IBX-8019: Refactored Object State Id criterion
1 parent 7e47231 commit 0b9d95b

File tree

2 files changed

+5
-13
lines changed

2 files changed

+5
-13
lines changed

eZ/Publish/Core/Limitation/ObjectStateLimitationType.php

+1-7
Original file line numberDiff line numberDiff line change
@@ -225,13 +225,7 @@ public function getCriterion(APILimitationValue $value, APIUserReference $curren
225225
return new Criterion\ObjectStateId($groupedLimitationValues[0]);
226226
}
227227

228-
// limitations from different groups require logical AND between them
229-
$criterions = [];
230-
foreach ($groupedLimitationValues as $limitationGroup) {
231-
$criterions[] = new Criterion\ObjectStateId($limitationGroup);
232-
}
233-
234-
return new Criterion\LogicalAnd($criterions);
228+
return new Criterion\ObjectStateId($value->limitationValues);
235229
}
236230

237231
/**

eZ/Publish/Core/Persistence/Legacy/Filter/CriterionQueryBuilder/Content/ObjectStateIdQueryBuilder.php

+4-6
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,19 @@ public function buildQueryConstraint(
2929
FilteringQueryBuilder $queryBuilder,
3030
FilteringCriterion $criterion
3131
): ?string {
32-
$tableAlias = uniqid('osl_');
33-
3432
/** @var \eZ\Publish\API\Repository\Values\Content\Query\Criterion\ObjectStateId $criterion */
3533
$queryBuilder
36-
->join(
34+
->joinOnce(
3735
'content',
3836
Gateway::OBJECT_STATE_LINK_TABLE,
39-
$tableAlias,
40-
'content.id = ' . $tableAlias . '.contentobject_id',
37+
'object_state_link',
38+
'content.id = object_state_link.contentobject_id',
4139
);
4240

4341
$value = (array)$criterion->value;
4442

4543
return $queryBuilder->expr()->in(
46-
$tableAlias . '.contentobject_state_id',
44+
'object_state_link.contentobject_state_id',
4745
$queryBuilder->createNamedParameter($value, Connection::PARAM_INT_ARRAY)
4846
);
4947
}

0 commit comments

Comments
 (0)