public function interestedByAction(Advert $advert) { if ($advert->getGuest()) { return $this->redirect($this->generateUrl('snoozit_platform_error_page', array('codeErreur' => 1))); } if (!is_object($this->getUser()) || !$this->getUser() instanceof UserInterface) { throw new AccessDeniedException('Vous devez etre identifié pour pouvoir acceder à cette zone.'); } $advertManager = $this->getAdvertManager(); $response = $this->redirect($this->generateUrl('snoozit_platform_add_in_panier', array('id' => $advert->getId()))); $session = $this->get('session'); // ProcessInterest va controller si oui ou non // l'interet existe en BDD et ajuste le résultat if ($advertManager->processInterest($advert)) { // Si l'interet est supprimé et que donc la session "_interestRemove" existe if ($session->has('_interestRemove')) { // La session "_interestRemove" correspond à notre annonce if ($session->get('_interestRemove') == $advert->getId()) { return $this->redirect($this->generateUrl('snoozit_platform_remove_in_panier', array('id' => $advert->getId()))); } // Ca ne correspond pas a notre annonce return $this->redirect($this->generateUrl('snoozit_dashboard_homepage')); } $session->set('add_in_panier', true); return $response; } $session->set('add_in_panier', true); return $response; }
private function getUsername(Advert $entity) { if (!is_null($entity->getUser())) { $username = $entity->getUser()->getUsername(); } else { $username = $entity->getGuest()->getUsername(); } return $username; }