public function updateSubscription($user, $uniqID) { $user_abonnement = null; $in_abo = false; foreach ($user->getAbonnements() as $abonnement) { if ($abonnement->getSeries()->getUniqID() == $uniqID) { $in_abo = true; $user_abonnement = $abonnement; break; } } if ($in_abo) { $this->em->remove($user_abonnement); } else { $series = $this->em->getRepository('AppBundle:Series')->findOneBy(['uniqID' => $uniqID]); $user_abonnement = new Abonnement(); $user_abonnement->setUser($user); $user_abonnement->setSeries($series); $this->em->persist($user_abonnement); $this->em->persist($series); } $this->em->persist($user); $this->em->flush(); }
private function canEdit(Abonnement $abonnement, User $user) { return $abonnement->getUser() === $user; }