/**
  * @param string $filter  
  * @param integer $quicksearch  
  * @param string $sword  
  * @param \DateTime $from   
  * @param \DateTime $to   
  * @return void
  */
 public function indexAction($filter = "session", $quicksearch = 0, $sword = "", $from = null, $to = null)
 {
     if ($filter == "session") {
         $filter = $this->session->getFilter();
     } else {
         $this->session->setFilter($filter);
     }
     $dummy = new \DLigo\Animaltool\Domain\Model\Animal();
     $this->view->assign('genders', $dummy->getGenders());
     if ($quicksearch) {
         $filter = "quick";
         $animals = $this->animalRepository->filterLocation($this->animalRepository->findQuick($sword), $this->session->getLocation());
         $this->view->assign('sword', $sword);
         if ($animals->count() == 1 && $animals->getFirst()->getIsTreatable()) {
             $this->redirect('treatment', null, null, array('animal' => $animals->getFirst()));
         }
     } else {
         switch ($filter) {
             case "all":
                 $animals = $this->animalRepository->findAll();
                 break;
             case "ready":
                 $animals = $this->animalRepository->findByStayStatus(Animal::RELEASING);
                 break;
             case "extern":
                 $animals = $this->animalRepository->findByStayStatus(Animal::EXTERNAL);
                 break;
             case "done":
                 $animals = $this->animalRepository->findByStayStatus(Animal::RELEASED);
                 break;
             case "adopted":
                 $animals = $this->animalRepository->findByStayStatus(Animal::ADOPTED);
                 break;
             case "dead":
                 $animals = $this->animalRepository->findByTherapyStatus(Animal::DEAD);
                 break;
             case "treating":
                 $animals = $this->animalRepository->findByTherapyStatus(Animal::THERAPY);
                 break;
             case "dummy":
                 $animals = $this->animalRepository->findByIsDummy(true);
                 break;
             case "new":
             default:
                 $animals = $this->animalRepository->findByTherapyStatus(Animal::WAIT);
                 break;
         }
         $animals = $this->animalRepository->filterLocation($animals, $this->session->getLocation(), $from, $to);
     }
     $this->view->assign('filter', $filter);
     $this->view->assign('from', $from);
     $this->view->assign('to', $to);
     if ($filter != "dummy") {
         $animals = $this->animalRepository->hideDummies($animals);
     }
     $this->view->assign('animals', $animals);
 }