/**
  * @Route("/{id}/delete", name="covoiturage_my_alerts_delete")
  */
 public function deleteAction(CovoitAlert $alert)
 {
     if (!$this->getUserLayer()->isUser()) {
         return $this->createAccessDeniedResponse();
     }
     /** @var EntityManager $em */
     $em = $this->getDoctrine()->getManager();
     // Add current user as subscriber of the specific alert
     $this->getSubscriptionsManager()->unsubscribe($this->getUser(), 'covoit-alert', $alert->getId());
     $em->remove($alert);
     $em->flush();
     $this->get('session')->getFlashBag()->set('message', array('type' => 'success', 'message' => 'covoit.messages.alert_deleted'));
     return $this->redirect($this->generateUrl('covoiturage_my_alerts'));
 }
 /**
  * Does the given alert match the given covoit.
  *
  * @param CovoitAlert $alert
  * @param Covoit $covoit
  * @return bool
  */
 private function match(CovoitAlert $alert, Covoit $covoit)
 {
     if ($alert->getStartCity() && $alert->getStartCity()->getId() != $covoit->getStartCity()->getId()) {
         return false;
     }
     if ($alert->getEndCity() && $alert->getEndCity()->getId() != $covoit->getEndCity()->getId()) {
         return false;
     }
     if ($alert->getPriceMax() && $alert->getPriceMax() < $covoit->getPrice()) {
         return false;
     }
     if ($alert->getStartDate() && $alert->getEndDate()) {
         if ($alert->getStartDate() > $covoit->getDate() || $alert->getEndDate() < $covoit->getDate()) {
             return false;
         }
     } elseif ($alert->getStartDate() && !$alert->getEndDate()) {
         if ($alert->getStartDate() != $covoit->getDate()) {
             return false;
         }
     } elseif (!$alert->getStartDate() && $alert->getEndDate()) {
         if ($alert->getEndDate() < $covoit->getDate()) {
             return false;
         }
     }
     return true;
 }