예제 #1
0
 /**
  * Returns limitation code from MassDeleteLimitResult parameters.
  *
  * @param MassDeleteLimitResult $result
  *
  * @return int
  */
 public function getLimitationCode(MassDeleteLimitResult $result)
 {
     $selected = $result->getSelected();
     $deletable = $result->getDeletable();
     $maxLimit = $result->getMaxLimit();
     if ($deletable <= $maxLimit) {
         return $selected === $deletable ? self::NO_LIMIT : self::LIMIT_ACCESS;
     } else {
         return $selected === $deletable ? self::LIMIT_MAX_RECORDS : self::LIMIT_ACCESS_MAX_RECORDS;
     }
 }
예제 #2
0
 /**
  * @dataProvider getLimitQueryDataProvider
  *
  * @param MassDeleteLimitResult $limitResult
  * @param bool                  $accessRestriction
  * @param bool                  $maxLimitRestriction
  *
  * @internal     param $MassDeleteLimitResult $
  */
 public function testLimitQuery(MassDeleteLimitResult $limitResult, $accessRestriction = false, $maxLimitRestriction = false)
 {
     /** @var QueryBuilder|\PHPUnit_Framework_MockObject_MockObject $queryBuilder */
     $queryBuilder = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->getMock();
     /** @var MassActionHandlerArgs|\PHPUnit_Framework_MockObject_MockObject $args */
     $args = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Extension\\MassAction\\MassActionHandlerArgs')->disableOriginalConstructor()->getMock();
     $args->expects($this->once())->method('getResults')->willReturn(new DeletionIterableResult($queryBuilder));
     if ($accessRestriction) {
         $this->helper->expects($this->once())->method('apply')->with($queryBuilder, 'DELETE');
     }
     if ($maxLimitRestriction) {
         $queryBuilder->expects($this->once())->method('setMaxResults')->with($limitResult->getMaxLimit());
     }
     $this->limiter->limitQuery($limitResult, $args);
 }
예제 #3
0
 /**
  * @param MassDeleteLimitResult $limitResult
  *
  * @return MassActionResponse
  */
 protected function getPostResponse(MassDeleteLimitResult $limitResult)
 {
     return new MassActionResponse(true, 'OK', ['selected' => $limitResult->getSelected(), 'deletable' => $limitResult->getDeletable(), 'max_limit' => $limitResult->getMaxLimit()]);
 }