mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-17 21:00:09 -07:00
Change pagination limits,
This commit is contained in:
parent
41695904bb
commit
dcda3b62d7
@ -81,6 +81,10 @@ page:
|
|||||||
set.index: Browse sets
|
set.index: Browse sets
|
||||||
search: "Search: \"%query%\""
|
search: "Search: \"%query%\""
|
||||||
color: Colors
|
color: Colors
|
||||||
|
error:
|
||||||
|
title: Error
|
||||||
|
large: Error
|
||||||
|
text: Sorry, an unexpected error has occured.
|
||||||
|
|
||||||
filter:
|
filter:
|
||||||
model:
|
model:
|
||||||
@ -121,11 +125,6 @@ empty:
|
|||||||
models:
|
models:
|
||||||
search.title: No results found for your search criteria
|
search.title: No results found for your search criteria
|
||||||
|
|
||||||
page.error:
|
|
||||||
title:
|
|
||||||
large:
|
|
||||||
text:
|
|
||||||
|
|
||||||
part:
|
part:
|
||||||
id: Number
|
id: Number
|
||||||
name: Name
|
name: Name
|
||||||
|
@ -2,10 +2,20 @@
|
|||||||
|
|
||||||
{% block title %}{{ 'page.error.title'|trans }}{% endblock %}
|
{% block title %}{{ 'page.error.title'|trans }}{% endblock %}
|
||||||
|
|
||||||
|
{% block header %}{{ 'page.error.title'|trans }}{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<div class="segment very padded vertical ui secondary">
|
||||||
|
<div class="ui container">
|
||||||
<h1 class="ui center aligned icon header">
|
<h1 class="ui center aligned icon header">
|
||||||
<i class="circular warning icon"></i>
|
<i class="circular warning icon"></i>
|
||||||
|
<div class="content">
|
||||||
{{ 'page.error.large'|trans }}
|
{{ 'page.error.large'|trans }}
|
||||||
|
<div class="sub header">{{ 'page.error.text'|trans }}</div>
|
||||||
|
</div>
|
||||||
</h1>
|
</h1>
|
||||||
<p class="ui center aligned">{{ 'page.error.text'|trans }}</p>
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -6,6 +6,15 @@
|
|||||||
|
|
||||||
{% block header %}{{ model.name }}{% endblock %}
|
{% block header %}{{ model.name }}{% endblock %}
|
||||||
|
|
||||||
|
{% block meta %}
|
||||||
|
{{ blocks.meta(
|
||||||
|
model.id~' '~model.name,
|
||||||
|
app.request.uri,
|
||||||
|
'meta.description' | trans | striptags('sup'),
|
||||||
|
asset('-1/'~model.id~'.png') | imagine_filter('part_large')
|
||||||
|
)}}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="ui vertical segment secondary">
|
<div class="ui vertical segment secondary">
|
||||||
<div class="ui container stackable grid">
|
<div class="ui container stackable grid">
|
||||||
@ -27,7 +36,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ 'model.category' | trans }}</td>
|
<td>{{ 'model.category' | trans }}</td>
|
||||||
<td><a href="{{ path('model_index',{'m[category]':model.category.id}) }}">{{ model.category ? model.category.name }}</a></td>
|
<td><a href="{{ path('model_index',{'category':model.category.id}) }}">{{ model.category ? model.category.name }}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ 'model.author' | trans }}</td><td>{{ model.author.name }}</td>
|
<td>{{ 'model.author' | trans }}</td><td>{{ model.author.name }}</td>
|
||||||
|
@ -6,10 +6,21 @@
|
|||||||
|
|
||||||
{% block header %}{{ 'page.model.index' | trans }}{% endblock %}
|
{% block header %}{{ 'page.model.index' | trans }}{% endblock %}
|
||||||
|
|
||||||
|
{% block meta %}
|
||||||
|
{{ blocks.meta(
|
||||||
|
name~' - '~'page.model.index' | trans,
|
||||||
|
app.request.uri,
|
||||||
|
'meta.description' | trans | striptags('sup'),
|
||||||
|
app.request.schemeAndHttpHost~asset('resources/images/meta-logo.png'),
|
||||||
|
256,
|
||||||
|
256
|
||||||
|
)}}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="ui segment vertical">
|
<div class="ui segment vertical secondary">
|
||||||
<div class="ui container stackable grid divided">
|
<div class="ui container stackable grid divided">
|
||||||
<div class="column four wide alternate stripe">
|
<div class="column four wide">
|
||||||
<div class="segment basic ui filter">
|
<div class="segment basic ui filter">
|
||||||
<h3 class="header dividing ui">{{ 'model.filter.title' | trans }}</h3>
|
<h3 class="header dividing ui">{{ 'model.filter.title' | trans }}</h3>
|
||||||
{{ form_start(form) }}
|
{{ form_start(form) }}
|
||||||
@ -31,18 +42,18 @@
|
|||||||
<div class="segment basic ui">
|
<div class="segment basic ui">
|
||||||
<div class="ui header segment vertical sort">
|
<div class="ui header segment vertical sort">
|
||||||
<div class="ui grid stackable">
|
<div class="ui grid stackable">
|
||||||
<div class="left floated left aligned eleven wide column">
|
<div class="five wide column">
|
||||||
<div class="ui text menu">
|
<div class="ui text left floated menu">
|
||||||
<div class="header item">Sort By</div>
|
<div class="header item">Showing</div>
|
||||||
{{ knp_pagination_sortable(models, 'Number', 'm.id') }}
|
<span class="item">{{ models.paginationData['firstItemNumber']~' - '~models.paginationData['lastItemNumber'] }} of {{ models.getTotalItemCount }} items</span>
|
||||||
{{ knp_pagination_sortable(models, 'Name', 'm.name') }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="right floated right aligned five wide column">
|
<div class="eleven wide column">
|
||||||
<div class="ui text menu right floated">
|
<div class="ui text right floated menu">
|
||||||
<div class="header item">Showing</div>
|
<div class="header item">Sort By</div>
|
||||||
<span class="item">{{ models.getTotalItemCount }}</span>
|
{{ knp_pagination_sortable(models, 'Number', 'm.id') }}
|
||||||
|
{{ knp_pagination_sortable(models, 'Name', 'm.name') }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="ui vertical segment secondary">
|
<div class="ui vertical segment grey inverted tertiary">
|
||||||
<div class="ui container stackable grid">
|
<div class="ui container stackable grid">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="column ten wide">
|
<div class="column ten wide">
|
||||||
|
@ -35,11 +35,11 @@
|
|||||||
<td>{{ 'set.name' | trans }}</td><td>{{ set.name }}</td>
|
<td>{{ 'set.name' | trans }}</td><td>{{ set.name }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ 'set.year' | trans }}</td><td><a href="{{ path('set_index',{'s[year][from]':set.year, 's[year][to]':set.year}) }}">{{ set.year }}</a></td>
|
<td>{{ 'set.year' | trans }}</td><td><a href="{{ path('set_index',{'year[from]':set.year, 'year[to]':set.year}) }}">{{ set.year }}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ 'set.theme' | trans }}</td>
|
<td>{{ 'set.theme' | trans }}</td>
|
||||||
<td><a href="{{ path('set_index',{'s[theme]' : set.theme.id }) }}">{{ set.theme ? set.theme.fullName }}</a></td>
|
<td><a href="{{ path('set_index',{'theme' : set.theme.id }) }}">{{ set.theme ? set.theme.fullName }}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ 'set.parts' | trans }}</td><td>
|
<td>{{ 'set.parts' | trans }}</td><td>
|
||||||
@ -111,6 +111,4 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -18,7 +18,7 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="ui segment vertical">
|
<div class="ui segment vertical secondary">
|
||||||
<div class="ui container grid stackable divided">
|
<div class="ui container grid stackable divided">
|
||||||
<div class="column four wide alternate stripe mobile">
|
<div class="column four wide alternate stripe mobile">
|
||||||
<div class="segment basic ui filter">
|
<div class="segment basic ui filter">
|
||||||
@ -48,10 +48,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="column twelve wide">
|
<div class="column twelve wide">
|
||||||
<div class="ui segment basic">
|
<div class="ui segment basic">
|
||||||
<div class="ui header sort">
|
<div class="ui header segment vertical sort">
|
||||||
<div class="ui grid stackable">
|
<div class="ui grid stackable">
|
||||||
<div class="left floated left aligned twelve wide column">
|
<div class="five wide column">
|
||||||
<div class="ui text menu">
|
<div class="ui text left floated menu">
|
||||||
|
<div class="header item">Showing</div>
|
||||||
|
<span class="item">{{ sets.paginationData['firstItemNumber']~' - '~sets.paginationData['lastItemNumber'] }} of {{ sets.getTotalItemCount }} items</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="eleven wide column">
|
||||||
|
<div class="ui text right floated menu">
|
||||||
<div class="header item">Sort By</div>
|
<div class="header item">Sort By</div>
|
||||||
|
|
||||||
{{ knp_pagination_sortable(sets, 'Number', ['s.id']) }}
|
{{ knp_pagination_sortable(sets, 'Number', ['s.id']) }}
|
||||||
@ -60,16 +67,9 @@
|
|||||||
{{ knp_pagination_sortable(sets, 'Parts', ['s.partCount']) }}
|
{{ knp_pagination_sortable(sets, 'Parts', ['s.partCount']) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="right floated right aligned four wide column">
|
|
||||||
<div class="ui text right floated menu">
|
|
||||||
<div class="header item">Showing</div>
|
|
||||||
<span class="item">{{ sets.getTotalItemCount }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="ui segment vertical">
|
||||||
</div>
|
|
||||||
<div class="ui clearing divider"></div>
|
|
||||||
<div class="ui five column doubling grid sets" id="results">
|
<div class="ui five column doubling grid sets" id="results">
|
||||||
{% for set in sets %}
|
{% for set in sets %}
|
||||||
{{ blocks.set(set) }}
|
{{ blocks.set(set) }}
|
||||||
@ -77,8 +77,8 @@
|
|||||||
{{ blocks.empty('empty.search.title' | trans ) }}
|
{{ blocks.empty('empty.search.title' | trans ) }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
<div class="ui clearing divider"></div>
|
</div>
|
||||||
<div class="ui footer right floated">
|
<div class="ui segment vertical right floated">
|
||||||
{{ knp_pagination_render(sets) }}
|
{{ knp_pagination_render(sets) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if inventorySets %}
|
{% if inventorySets %}
|
||||||
<h3 class="ui horizontal divider header">Sets</h3>
|
<h2 class="ui dividing header">Sets</h2>
|
||||||
<div class="ui eight column doubling grid sets">
|
<div class="ui eight column doubling grid sets">
|
||||||
{% for inventorySet in inventorySets %}
|
{% for inventorySet in inventorySets %}
|
||||||
{{ blocks.set(inventorySet.set, inventorySet.quantity) }}
|
{{ blocks.set(inventorySet.set, inventorySet.quantity) }}
|
||||||
|
@ -5,18 +5,21 @@ namespace AppBundle\Controller;
|
|||||||
use AppBundle\Entity\LDraw\Model;
|
use AppBundle\Entity\LDraw\Model;
|
||||||
use AppBundle\Form\Search\ModelSearchType;
|
use AppBundle\Form\Search\ModelSearchType;
|
||||||
use AppBundle\Model\ModelSearch;
|
use AppBundle\Model\ModelSearch;
|
||||||
|
use AppBundle\Repository\Rebrickable\SetRepository;
|
||||||
use Knp\Component\Pager\Paginator;
|
use Knp\Component\Pager\Paginator;
|
||||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
|
||||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
|
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Part controller.
|
* Part controller.
|
||||||
*
|
*
|
||||||
* @Route("models")
|
* @Route("bricks")
|
||||||
*/
|
*/
|
||||||
class ModelController extends Controller
|
class ModelController extends Controller
|
||||||
{
|
{
|
||||||
@ -29,11 +32,11 @@ class ModelController extends Controller
|
|||||||
{
|
{
|
||||||
$modelSearch = new ModelSearch();
|
$modelSearch = new ModelSearch();
|
||||||
|
|
||||||
$form = $this->get('form.factory')->createNamedBuilder('m', ModelSearchType::class, $modelSearch)->getForm();
|
$form = $this->get('form.factory')->createNamedBuilder('', ModelSearchType::class, $modelSearch)->getForm();
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
$elasticaManager = $this->get('fos_elastica.manager');
|
$elasticaManager = $this->get('fos_elastica.manager');
|
||||||
$results = $elasticaManager->getRepository(Model::class)->search($modelSearch, 5000);
|
$results = $elasticaManager->getRepository(Model::class)->search($modelSearch, 500);
|
||||||
|
|
||||||
/** @var Paginator $paginator */
|
/** @var Paginator $paginator */
|
||||||
$paginator = $this->get('knp_paginator');
|
$paginator = $this->get('knp_paginator');
|
||||||
@ -61,15 +64,12 @@ class ModelController extends Controller
|
|||||||
if ($model = $this->get('repository.ldraw.model')->findOneByNumber($id)) {
|
if ($model = $this->get('repository.ldraw.model')->findOneByNumber($id)) {
|
||||||
try {
|
try {
|
||||||
$subparts = $this->get('service.model')->getAllSubparts($model);
|
$subparts = $this->get('service.model')->getAllSubparts($model);
|
||||||
|
|
||||||
$rbParts = $model != null ? $this->get('repository.rebrickable.part')->findAllByModel($model) : null;
|
|
||||||
$sets = $model != null ? $this->get('repository.rebrickable.set')->findAllByModel($model) : null;
|
$sets = $model != null ? $this->get('repository.rebrickable.set')->findAllByModel($model) : null;
|
||||||
|
|
||||||
$related = $this->get('repository.ldraw.model')->findAllRelatedModels($model->getId());
|
$related = $this->get('repository.ldraw.model')->findAllRelatedModels($model->getId());
|
||||||
|
|
||||||
return $this->render('model/detail.html.twig', [
|
return $this->render('model/detail.html.twig', [
|
||||||
'model' => $model,
|
'model' => $model,
|
||||||
'rbParts' => $rbParts,
|
|
||||||
'sets' => $sets,
|
'sets' => $sets,
|
||||||
'related' => $related,
|
'related' => $related,
|
||||||
'subparts' => $subparts,
|
'subparts' => $subparts,
|
||||||
|
@ -29,18 +29,18 @@ class SetController extends Controller
|
|||||||
{
|
{
|
||||||
$setSearch = new SetSearch();
|
$setSearch = new SetSearch();
|
||||||
|
|
||||||
$form = $this->get('form.factory')->createNamedBuilder('s', SetSearchType::class, $setSearch)->getForm();
|
$form = $this->get('form.factory')->createNamedBuilder('', SetSearchType::class, $setSearch)->getForm();
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
/** @var SetRepository $setRepository */
|
/** @var SetRepository $setRepository */
|
||||||
$setRepository = $this->get('fos_elastica.manager')->getRepository(Set::class);
|
$setRepository = $this->get('fos_elastica.manager')->getRepository(Set::class);
|
||||||
$results = $setRepository->search($setSearch, 5000);
|
$results = $setRepository->search($setSearch, 500);
|
||||||
|
|
||||||
$paginator = $this->get('knp_paginator');
|
$paginator = $this->get('knp_paginator');
|
||||||
$sets = $paginator->paginate(
|
$sets = $paginator->paginate(
|
||||||
$results,
|
$results,
|
||||||
$request->query->getInt('page', 1)/*page number*/,
|
$request->query->getInt('page', 1)/*page number*/,
|
||||||
$request->query->getInt('limit', 24)/*limit per page*/
|
$request->query->getInt('limit', 20)/*limit per page*/
|
||||||
);
|
);
|
||||||
|
|
||||||
return $this->render('set/index.html.twig', [
|
return $this->render('set/index.html.twig', [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user