1
0
mirror of https://github.com/ToxicCrack/PrintABrick.git synced 2025-05-20 22:20:08 -07:00
2017-04-24 11:38:10 +02:00

93 lines
3.0 KiB
PHP

<?php
namespace AppBundle\Controller\Rebrickable;
use AppBundle\Entity\LDraw\Model;
use AppBundle\Entity\Color;
use AppBundle\Entity\Rebrickable\Inventory_Part;
use AppBundle\Entity\Rebrickable\Inventory_Set;
use AppBundle\Entity\Rebrickable\Part;
use AppBundle\Entity\Rebrickable\Set;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
/**
* @Route("/rebrickable/sets")
*/
class SetController extends Controller
{
/**
* @Route("/{number}/parts", name="rebrickable_set_parts")
*/
public function partsAction(Set $set)
{
$em = $this->getDoctrine()->getManager();
$em->getRepository(Color::class)->findAll();
$em->getRepository(Part::class)->findAllBySetNumber($set->getNumber());
$regularParts = $em->getRepository(Inventory_Part::class)->findAllRegularBySetNumber($set->getNumber());
$spareParts = $em->getRepository(Inventory_Part::class)->findAllSpareBySetNumber($set->getNumber());
$models = $em->getRepository(Model::class)->findAllBySetNumber($set->getNumber());
$template = $this->render('rebrickable/set/inventory.html.twig', [
'regularParts' => $regularParts,
'spareParts' => $spareParts,
'models' => $models,
]);
// $json = json_encode($template->getContent());
// $response = new Response($json, 200);
// $response->headers->set('Content-Type', 'application/json');
//
// return $response;
return $template;
}
/**
* @Route("/{number}/models", name="rebrickable_set_models")
*/
public function modelsAction(Set $set)
{
$models = null;
try {
$this->get('repository.ldraw.model')->findAllBySetNumber($set->getNumber());
$models = $this->get('service.set')->getModels($set);
$spareModels = $this->get('service.set')->getSpareModels($set);
// $models = $this->get('repository.ldraw.model')->findAllRegularBySetNumber($set->getNumber());
} catch (\Exception $e) {
$this->addFlash('error', $e->getMessage());
}
return $this->render('rebrickable/set/models.html.twig', [
'set' => $set,
'models' => $models,
'spareModels' => $spareModels
]);
}
/**
* @Route("/{number}/sets", name="rebrickable_set_sets")
*/
public function setsAction(Set $set)
{
$em = $this->getDoctrine()->getManager();
$inventorySets = $em->getRepository(Inventory_Set::class)->findAllBySetNumber($set->getNumber());
$template = $this->render('rebrickable/set/sets.html.twig', [
'inventorySets' => $inventorySets,
]);
$json = json_encode($template->getContent());
$response = new Response($json, 200);
$response->headers->set('Content-Type', 'application/json');
return $response;
}
}