コード例 #1
0
 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()]));
 }
コード例 #2
0
 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()]));
 }
コード例 #3
0
 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()]));
 }