/** * get a contribution depending on user * If none yet, create one * * @param UserInterface $user Current user * * @return Contribution */ private function getOrGenerateContribution(UserInterface $user = null) { if ($user) { $contribution = $this->getDoctrine()->getEntityManager()->getRepository('AFUP\\HaphpyBirthdayBundle\\Entity\\Contribution')->findOneBy(['authProvider' => $user->getAuthProvider(), 'identifier' => $user->getUsername()]); if ($contribution) { return $contribution; } $contribution = new Contribution(); $contribution->setAuthProvider($user->getAuthProvider()); $contribution->setIdentifier($user->getUsername()); $contribution->setVisibleName($user->getVisibleName()); return $contribution; } return new Contribution(); }