/** * @Route("/compte/{societe}/modification/{id}", defaults={"id" = null}, name="compte_modification") * @ParamConverter("societe", class="AppBundle:Societe") */ public function modificationAction(Request $request, $societe, $id) { $dm = $this->get('doctrine_mongodb')->getManager(); $compte = null; if ($id) { $compte = $this->get('compte.manager')->getRepository()->find($id); } else { $compte = new Compte($societe); $compte->setSociete($societe); $compte->setActif(true); $dm->persist($compte); } $form = $this->createForm(new CompteType($this->container, $dm), $compte, array('action' => $this->generateUrl('compte_modification', array('societe' => $societe->getId(), 'id' => $id)), 'method' => 'POST')); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $compte = $form->getData(); $dm->persist($compte); $dm->flush(); return $this->redirectToRoute('societe_visualisation', array('id' => $societe->getId())); } return $this->render('compte/modification.html.twig', array('societe' => $societe, 'form' => $form->createView(), 'compte' => $compte)); }
public function createContactFromImport($ligne, $output) { $identifiantRepriseEtablissement = $ligne[self::CSV_IDENTIFIANT_REPRISE_ETABLISSEMENT]; $identifiantRepriseSociete = $ligne[self::CSV_IDENTIFIANT_REPRISE_SOCIETE]; $etablissement = $this->dm->getRepository('AppBundle:Etablissement')->findOneByIdentifiantReprise($identifiantRepriseEtablissement); $societe = null; if ($etablissement) { $societe = $etablissement->getSociete(); } if (!$societe) { $societe = $this->dm->getRepository('AppBundle:Societe')->findOneByIdentifiantReprise($identifiantRepriseSociete); } if (!$societe) { $output->writeln(sprintf("\n<error>La société d'identifiant de reprise %s n'a pas été trouvée (etb? = %s)</error>", $identifiantRepriseSociete, $identifiantRepriseEtablissement)); return false; } $compte = new Compte($societe); $compte->setSociete($societe); $compte->setIdentifiantReprise($ligne[self::CSV_IDENTIFIANT_REPRISE_CONTACT]); $compte->setCivilite($this->getCivilite($ligne[self::CSV_CIVILITE])); $compte->setPrenom($ligne[self::CSV_PRENOM]); $compte->setNom($ligne[self::CSV_NOM]); $compte->setIdentite($compte->getIdentite()); $compte->setTitre($this->getTitre($ligne[self::CSV_TITRE])); $contactCoordonnee = new ContactCoordonnee(); $contactCoordonnee->setTelephoneFixe($ligne[self::CSV_TELEPHONE_FIXE]); $contactCoordonnee->setTelephoneMobile($ligne[self::CSV_TELEPHONE_PORTABLE]); $contactCoordonnee->setFax($ligne[self::CSV_FAX]); $contactCoordonnee->setEmail($ligne[self::CSV_EMAIL]); $compte->setContactCoordonnee($contactCoordonnee); $compte->setActif(boolval($ligne[self::CSV_ACTIF])); $adresse = new Adresse(); $compte->setAdresse($adresse); $this->dm->persist($compte); return $compte; }