$user->getId(), 'same_usr_id' => $user->getId(), 'element_id' => $element_id ]; $query = $this->_em->createQuery($dql); $query->setParameters($params); $element = $query->getOneOrNullResult(); /* @var $element BasketElement */ if (null === $element) { throw new NotFoundHttpException('Element is not found'); } return $element; } public function findElementsByRecord(\record_adapter $record) { $dql = 'SELECT e FROM Phraseanet:BasketElement e JOIN e.basket b LEFT JOIN b.validation s LEFT JOIN s.participants p WHERE e.record_id = :record_id AND e.sbas_id = :sbas_id'; $params = [ 'sbas_id' => $record->get_sbas_id(), 'record_id' => $record->get_record_id() ]; $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getResult(); } public function findElementsByDatabox(\databox $databox) { $dql = 'SELECT e FROM Phraseanet:BasketElement e JOIN e.basket b LEFT JOIN b.validation s LEFT JOIN s.participants p WHERE e.sbas_id = :sbas_id'; $params = [ 'sbas_id' => $databox->get_sbas_id(), ]; $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getResult(); } /** * * @param \record_adapter $record * @param User $user * @return \Doctrine\Common\Collections\ArrayCollection */ public function findReceivedElementsByRecord(\record_adapter $record, User $user) { $dql = 'SELECT e FROM Phraseanet:BasketElement e JOIN e.basket b LEFT JOIN b.validation s LEFT JOIN s.participants p WHERE b.user = :usr_id AND b.pusher IS NOT NULL AND e.record_id = :record_id AND e.sbas_id = :sbas_id'; $params = [ 'sbas_id' => $record->get_sbas_id(), 'record_id' => $record->get_record_id(), 'usr_id' => $user->getId() ]; $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getResult(); } public function findReceivedValidationElementsByRecord(\record_adapter $record, User $user) { $dql = 'SELECT e FROM Phraseanet:BasketElement e JOIN e.basket b JOIN b.validation v JOIN v.participants p WHERE p.user = :usr_id AND e.record_id = :record_id AND e.sbas_id = :sbas_id'; $params = [ 'sbas_id' => $record->get_sbas_id(), 'record_id' => $record->get_record_id(), 'usr_id' => $user->getId() ]; $query = $this->_em->createQuery($dql); $query->setParameters($params); return $query->getResult(); } }