public function setAnimal($id)
 {
     $animal = $this->animalRepository->findByIdentifier($id);
     foreach ($animal->getTreatments() as $tr) {
         foreach ($tr->getTherapies() as $th) {
             $this->therapies[$this->persistenceManager->getIdentifierByObject($th)] = true;
         }
     }
 }
 /**
  * @param mixed $value The value that should be validated
  * @return void
  * @throws \TYPO3\Flow\Validation\Exception\InvalidSubjectException
  */
 protected function isValid($value)
 {
     $animal = null;
     if ($this->tag != $value->getRFID()) {
         $animal = $this->animalRepository->findOneByRFID($this->tag);
     }
     if ($animal == null) {
         if ($this->tag != $value->getEarTag()) {
             $animal = $this->animalRepository->findOneByEarTag($this->tag);
         }
     }
     if ($animal != null) {
         $this->addError('The animal with this RFID/Ear tag already exists.', 9996);
     }
 }
 private function getAnimal($entity)
 {
     $animal = null;
     if (method_exists($entity, 'getAnimal')) {
         $animal = $entity->getAnimal();
     } elseif (method_exists($entity, 'getOldAnimal')) {
         $animal = $entity->getOldAnimal();
     } elseif ($entity instanceof \DLigo\Animaltool\Domain\Model\Owner) {
         $animal = $this->animalRepository->findByOwner($entity)->getFirst();
         if (empty($animal)) {
             $id = $this->persistenceManager->getIdentifierByObject($entity);
             if (isset($this->owners[$id])) {
                 $animal = $this->owners[$id];
             }
         }
     } elseif ($entity instanceof \TYPO3\Flow\Resource\Resource) {
         $animal = $this->animalRepository->findByPhoto($entity)->getFirst();
         if (empty($animal)) {
             $id = $this->persistenceManager->getIdentifierByObject($entity);
             if (isset($this->photos[$id])) {
                 $animal = $this->photos[$id];
             }
         }
     } elseif ($entity instanceof \TYPO3\Flow\Resource\ResourcePointer) {
         $animal = $this->animalRepository->findByPhotoPointer($entity)->getFirst();
         if (empty($animal)) {
             $id = $this->persistenceManager->getIdentifierByObject($entity);
             if (isset($this->photospointer[$id])) {
                 $animal = $this->photospointer[$id];
             }
         }
     } elseif ($entity instanceof \DLigo\Animaltool\Domain\Model\Animal) {
         $animal = $entity;
     }
     if (!empty($animal)) {
         return $animal;
     }
     return '';
 }
 public function releaseAction(\DLigo\Animaltool\Domain\Model\Animal $animal)
 {
     $animal->setStayStatus(\DLigo\Animaltool\Domain\Model\Animal::RELEASED);
     $this->animalRepository->update($animal);
     $this->response->setStatus(204);
 }