public function initbuildAction(Request $request) { /* @var $em \Doctrine\ORM\EntityManager */ $em = $this->get('doctrine')->getManager(); $core_world = $request->request->get('core_world'); if (!$core_world) { $this->get('session')->getFlashBag()->set('error', "A core world is required."); return $this->redirect($this->generateUrl('deck_buildform')); } $world = $em->getRepository('AppBundle:Card')->findOneBy(array("id" => $core_world)); $tags = [$world->getName()]; $faction = $em->getRepository('AppBundle:Faction')->findOneBy(array("id" => $world->getFaction()->getId())); if (!$faction) { $this->get('session')->getFlashBag()->set('error', "A faction is required."); return $this->redirect($this->generateUrl('deck_buildform')); } $tags[] = $faction->getCode(); $name = sprintf("New deck: %s", $faction->getName()); $pack = $em->getRepository('AppBundle:Pack')->findOneBy(array("code" => "core")); $deck = new Deck(); $deck->setDescriptionMd(""); $deck->setFaction($faction); $deck->setCoreWorld($world); $deck->setLastPack($pack); $deck->setName($name); $deck->setProblem('deckSize'); $deck->setTags(join(' ', array_unique($tags))); $deck->setUser($this->getUser()); $em->persist($deck); $em->flush(); return $this->redirect($this->get('router')->generate('deck_edit', ['deck_id' => $deck->getId()])); }
public function initbuildAction(Request $request) { $translator = $this->get('translator'); /* @var $em \Doctrine\ORM\EntityManager */ $em = $this->getDoctrine()->getManager(); $faction_code = $request->request->get('faction'); $agenda_code = $request->request->get('agenda'); if (!$faction_code) { $this->get('session')->getFlashBag()->set('error', $translator->trans("decks.build.errors.nofaction")); return $this->redirect($this->generateUrl('deck_buildform')); } $faction = $em->getRepository('AppBundle:Faction')->findByCode($faction_code); if (!$faction) { $this->get('session')->getFlashBag()->set('error', $translator->trans("decks.build.errors.nofaction")); return $this->redirect($this->generateUrl('deck_buildform')); } $tags = [$faction_code]; if (!$agenda_code) { $agenda = NULL; $name = $translator->trans("decks.build.newname.noagenda", array("%faction%" => $faction->getName())); $pack = $em->getRepository('AppBundle:Pack')->findOneBy(array("code" => "Core")); } else { $agenda = $em->getRepository('AppBundle:Card')->findByCode($agenda_code); $name = $translator->trans("decks.build.newname.noagenda", array("%faction%" => $faction->getName(), "%agenda%" => $agenda->getName())); $pack = $agenda->getPack(); $tags[] = $this->get('agenda_helper')->getMinorFactionCode($agenda); } $deck = new Deck(); $deck->setDescriptionMd(""); $deck->setFaction($faction); $deck->setLastPack($pack); $deck->setName($name); $deck->setProblem('too_few_cards'); $deck->setTags(join(' ', array_unique($tags))); $deck->setUser($this->getUser()); if ($agenda) { $slot = new Deckslot(); $slot->setCard($agenda); $slot->setQuantity(1); $slot->setDeck($deck); $deck->addSlot($slot); } $em->persist($deck); $em->flush(); return $this->redirect($this->get('router')->generate('deck_edit', ['deck_id' => $deck->getId()])); }
public function initbuildAction(Request $request) { /* @var $em \Doctrine\ORM\EntityManager */ $em = $this->get('doctrine')->getManager(); $faction_code = $request->request->get('faction'); $agenda_code = $request->request->get('agenda'); if (!$faction_code) { $this->get('session')->getFlashBag()->set('error', "A faction is required."); return $this->redirect($this->generateUrl('deck_buildform')); } $faction = $em->getRepository('AppBundle:Faction')->findOneBy(array("code" => $faction_code)); if (!$faction) { $this->get('session')->getFlashBag()->set('error', "A faction is required."); return $this->redirect($this->generateUrl('deck_buildform')); } $tags = [$faction_code]; if (!$agenda_code) { $agenda = NULL; $name = sprintf("New deck: %s", $faction->getName()); $pack = $em->getRepository('AppBundle:Pack')->findOneBy(array("code" => "core")); } else { $agenda = $em->getRepository('AppBundle:Card')->findOneBy(array("code" => $agenda_code)); $name = sprintf("New deck: %s, %s", $faction->getName(), $agenda->getName()); $pack = $agenda->getPack(); $tags[] = $this->get('agenda_helper')->getMinorFactionCode($agenda); } $deck = new Deck(); $deck->setDescriptionMd(""); $deck->setFaction($faction); $deck->setLastPack($pack); $deck->setName($name); $deck->setProblem('deckSize'); $deck->setTags(join(' ', array_unique($tags))); $deck->setUser($this->getUser()); if ($agenda) { $slot = new Deckslot(); $slot->setCard($agenda); $slot->setQuantity(1); $slot->setDeck($deck); $deck->addSlot($slot); } $em->persist($deck); $em->flush(); return $this->redirect($this->get('router')->generate('deck_edit', ['deck_id' => $deck->getId()])); }