/** * @param \DLigo\Animaltool\Domain\Model\External $external * @param \DLigo\Animaltool\Domain\Model\Animal $animal * @return void */ public function sendAction(External $external, \DLigo\Animaltool\Domain\Model\Animal $animal) { if ($external->getExternalType() == External::CLINIC) { $external->setIsPermanent(false); } if ($external->getExternalType() == External::ADOPTION) { $external->setIsPermanent(true); } $animal->setStayStatus(Animal::EXTERNAL); $animal->setTherapyStatus(Animal::READY); if ($external->getIsPermanent()) { $animal->setStayStatus(\DLigo\Animaltool\Domain\Model\Animal::ADOPTED); $external->stopExternal(); } $external->setAnimal($animal); $start = $external->getStartDate(); if (empty($start)) { $external->setStartDate(new \DateTime('now')); } $animal->getExternals()->add($external); $this->animalRepository->update($animal); //$this->externalRepository->update($external); $this->addFlashMessage('Send to clinic/shelter/adoption.', '', \TYPO3\Flow\Error\Message::SEVERITY_OK, array(), 'flash.external.send'); $this->redirect('index', 'Animal'); }
public function doneAction(Animal $animal) { if ($animal->getStayStatus() == Animal::EXTERNAL && ($animal->getOpenExternal() == null || $animal->getOpenExternal()->getExternalType() != \DLigo\Animaltool\Domain\Model\External::CLINIC)) { if ($animal->getOpenExternal()) { $animal->getOpenExternal()->setIsPermanent(true); } $animal->setStayStatus(Animal::ADOPTED); $this->addFlashMessage('Set animal as permanently sheltered/adopted.', '', \TYPO3\Flow\Error\Message::SEVERITY_OK, array(), 'flash.animal.adopted'); } else { $animal->setStayStatus(Animal::RELEASED); $this->addFlashMessage('Set animal as done/released.', '', \TYPO3\Flow\Error\Message::SEVERITY_OK, array(), 'flash.animal.done'); } $animal->setTherapyStatus(Animal::READY); $this->animalRepository->update($animal); $this->redirect('index'); }