mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-18 13:10:08 -07:00
Add SetsController
This commit is contained in:
parent
cdc7150e36
commit
f739ed1640
41
app/Resources/views/sets/browse.html.twig
Normal file
41
app/Resources/views/sets/browse.html.twig
Normal file
@ -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) }}
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{% for set in sets %}
|
||||||
|
<li><a href="{{ url('set_detail', {'id': set.setID, 'name' : set.name }) }}">{{ set.LegoSetID }} - {{ set.name }}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block javascripts %}
|
||||||
|
{{ parent() }}
|
||||||
|
<script>
|
||||||
|
var $theme = $('#filter_set_theme');
|
||||||
|
$theme.change(function() {
|
||||||
|
var $form = $(this).closest('form');
|
||||||
|
var data = {};
|
||||||
|
data[$theme.attr('name')] = $theme.val();
|
||||||
|
$.ajax({
|
||||||
|
url : $form.attr('action'),
|
||||||
|
type: $form.attr('method'),
|
||||||
|
data : data,
|
||||||
|
success: function(html) {
|
||||||
|
$('#filter_set_subtheme').replaceWith(
|
||||||
|
$(html).find('#filter_set_subtheme')
|
||||||
|
);
|
||||||
|
$('#filter_set_years').replaceWith(
|
||||||
|
$(html).find('#filter_set_years')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
7
app/Resources/views/sets/detail.html.twig
Normal file
7
app/Resources/views/sets/detail.html.twig
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
|
||||||
|
{{ dump(set) }}
|
||||||
|
|
||||||
|
{% endblock %}
|
54
src/AppBundle/Controller/SetsController.php
Normal file
54
src/AppBundle/Controller/SetsController.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace AppBundle\Controller;
|
||||||
|
|
||||||
|
use AppBundle\Form\FilterSetType;
|
||||||
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Route("/sets")
|
||||||
|
*/
|
||||||
|
class SetsController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @Route("/", name="sets_browse")
|
||||||
|
*/
|
||||||
|
public function browseAction(Request $request)
|
||||||
|
{
|
||||||
|
$form = $this->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,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
@ -6,13 +6,16 @@ use Knp\Menu\FactoryInterface;
|
|||||||
|
|
||||||
class Builder
|
class Builder
|
||||||
{
|
{
|
||||||
|
|
||||||
public function mainMenu(FactoryInterface $factory, array $options)
|
public function mainMenu(FactoryInterface $factory, array $options)
|
||||||
{
|
{
|
||||||
$menu = $factory->createItem('root');
|
$menu = $factory->createItem('root');
|
||||||
|
|
||||||
$menu->addChild('Home', [
|
$menu->addChild('Home', [
|
||||||
'route' => 'homepage'
|
'route' => 'homepage',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$menu->addChild('Sets', [
|
||||||
|
'route' => 'sets_browse',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return $menu;
|
return $menu;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user