diff --git a/app/Resources/views/sets/browse.html.twig b/app/Resources/views/sets/browse.html.twig new file mode 100644 index 0000000..be41927 --- /dev/null +++ b/app/Resources/views/sets/browse.html.twig @@ -0,0 +1,41 @@ +{% extends 'base.html.twig' %} + +{% block body %} + + {{ form_start(form) }} + {{ form_row(form.theme) }} + {{ form_row(form.subtheme) }} + {{ form_row(form.years) }} + {{ form_end(form) }} + + +{% endblock %} + +{% block javascripts %} + {{ parent() }} + +{% endblock %} \ No newline at end of file diff --git a/app/Resources/views/sets/detail.html.twig b/app/Resources/views/sets/detail.html.twig new file mode 100644 index 0000000..4f9c062 --- /dev/null +++ b/app/Resources/views/sets/detail.html.twig @@ -0,0 +1,7 @@ +{% extends 'base.html.twig' %} + +{% block body %} + + {{ dump(set) }} + +{% endblock %} \ No newline at end of file diff --git a/src/AppBundle/Controller/SetsController.php b/src/AppBundle/Controller/SetsController.php new file mode 100644 index 0000000..41c0470 --- /dev/null +++ b/src/AppBundle/Controller/SetsController.php @@ -0,0 +1,54 @@ +createForm(FilterSetType::class); + + $form->handleRequest($request); + + $sets = []; + if ($form->isSubmitted() && $form->isValid()) { + $data = $form->getData(); + + $sets = $this->get('client.brickset')->getSets([ + 'theme' => $data['theme'] ? $data['theme']->getTheme() : '', + 'subtheme' => $data['subtheme'] ? $data['subtheme']->getSubtheme() : '', + 'year' => $data['years'] ? $data['years']->getYear() : '', + ]); + } + + return $this->render('sets/browse.html.twig', [ + 'form' => $form->createView(), + 'sets' => $sets, + ]); + } + + /** + * @Route("/{id}_{name}", name="set_detail") + */ + public function detailAction(Request $request, $id, $name = null) + { + $collectionService = $this->get('app.collection_service'); + + $set = $collectionService->getSetById($id); + + return $this->render('sets/detail.html.twig', [ + 'set' => $set, + ]); + } +} diff --git a/src/AppBundle/Menu/Builder.php b/src/AppBundle/Menu/Builder.php index 66e4e8f..e22ca9b 100644 --- a/src/AppBundle/Menu/Builder.php +++ b/src/AppBundle/Menu/Builder.php @@ -6,15 +6,18 @@ use Knp\Menu\FactoryInterface; class Builder { - public function mainMenu(FactoryInterface $factory, array $options) { $menu = $factory->createItem('root'); $menu->addChild('Home', [ - 'route' => 'homepage' + 'route' => 'homepage', + ]); + + $menu->addChild('Sets', [ + 'route' => 'sets_browse', ]); return $menu; } -} \ No newline at end of file +}