@@ -218,46 +218,7 @@ public function getCriterion(APILimitationValue $value, APIUserReference $curren
218
218
return new Criterion \ObjectStateId ($ value ->limitationValues [0 ]);
219
219
}
220
220
221
- $ groupedLimitationValues = $ this ->groupLimitationValues ($ value ->limitationValues );
222
-
223
- if (count ($ groupedLimitationValues ) === 1 ) {
224
- // one group, several limitation values: IN operation
225
- return new Criterion \ObjectStateId ($ groupedLimitationValues [0 ]);
226
- }
227
-
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 );
235
- }
236
-
237
- /**
238
- * Groups limitation values by the State Group.
239
- *
240
- * @param string[] $limitationValues
241
- *
242
- * @return int[][]
243
- */
244
- private function groupLimitationValues (array $ limitationValues )
245
- {
246
- $ objectStateHandler = $ this ->persistence ->objectStateHandler ();
247
- $ stateGroups = $ objectStateHandler ->loadAllGroups ();
248
- $ groupedLimitationValues = [];
249
- foreach ($ stateGroups as $ stateGroup ) {
250
- $ states = $ objectStateHandler ->loadObjectStates ($ stateGroup ->id );
251
- $ stateIds = array_map (static function ($ state ) {
252
- return $ state ->id ;
253
- }, $ states );
254
- $ limitationValuesGroup = array_intersect ($ stateIds , $ limitationValues );
255
- if (!empty ($ limitationValuesGroup )) {
256
- $ groupedLimitationValues [] = array_values ($ limitationValuesGroup );
257
- }
258
- }
259
-
260
- return $ groupedLimitationValues ;
221
+ return new Criterion \ObjectStateId ($ value ->limitationValues );
261
222
}
262
223
263
224
/**
0 commit comments