$user->get_id(), 'element_id' => $element_id ); $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getOneOrNullResult(); } public function findElementsByRecord(\record_adapter $record) { $dql = 'SELECT e FROM Entities\BasketElement e WHERE e.record_id = :record_id AND e.sbas_id = :sbas_id'; $params = array( 'sbas_id' => $record->get_sbas_id(), 'record_id' => $record->get_record_id() ); $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getResult(); } /** * * @param \record_adapter $record * @param \User_Adapter $user * @return \Doctrine\Common\Collections\ArrayCollection */ public function findReceivedElementsByRecord(\record_adapter $record, \User_Adapter $user) { $dql = 'SELECT e FROM Entities\BasketElement e JOIN e.basket b WHERE b.usr_id = :usr_id AND b.pusher_id IS NOT NULL AND e.record_id = :record_id AND e.sbas_id = :sbas_id'; $params = array( 'sbas_id' => $record->get_sbas_id(), 'record_id' => $record->get_record_id(), 'usr_id' => $user->get_id() ); $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getResult(); } public function findReceivedValidationElementsByRecord(\record_adapter $record, \User_Adapter $user) { $dql = 'SELECT e FROM Entities\BasketElement e JOIN e.basket b JOIN b.validation v JOIN v.participants p WHERE p.usr_id = :usr_id AND e.record_id = :record_id AND e.sbas_id = :sbas_id'; $params = array( 'sbas_id' => $record->get_sbas_id(), 'record_id' => $record->get_record_id(), 'usr_id' => $user->get_id() ); $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getResult(); } /** * * @param type $element_id * @param \User_Adapter $user * @return \Entities\BasketELement */ public function findElement($element_id, \User_Adapter $user) { $element = $this->find($element_id); /* @var $element \Entities\BasketElement */ if (null === $element) { throw new \Exception_NotFound(_('Element is not found')); } if ($element->getBasket()->getowner()->get_id() != $user->get_id()) { throw new \Exception_Forbidden(_('You have not access to this basket element')); } return $element; } }