1
0
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:
Unknown 2017-06-05 15:59:56 +02:00
parent 41695904bb
commit dcda3b62d7
10 changed files with 85 additions and 58 deletions

View File

@ -81,6 +81,10 @@ page:
set.index: Browse sets
search: "Search: \"%query%\""
color: Colors
error:
title: Error
large: Error
text: Sorry, an unexpected error has occured.
filter:
model:
@ -121,11 +125,6 @@ empty:
models:
search.title: No results found for your search criteria
page.error:
title:
large:
text:
part:
id: Number
name: Name

View File

@ -2,10 +2,20 @@
{% block title %}{{ 'page.error.title'|trans }}{% endblock %}
{% block header %}{{ 'page.error.title'|trans }}{% endblock %}
{% block content %}
<h1 class="ui center aligned icon header">
<i class="circular warning icon"></i>
{{ 'page.error.large'|trans }}
</h1>
<p class="ui center aligned">{{ 'page.error.text'|trans }}</p>
<div class="segment very padded vertical ui secondary">
<div class="ui container">
<h1 class="ui center aligned icon header">
<i class="circular warning icon"></i>
<div class="content">
{{ 'page.error.large'|trans }}
<div class="sub header">{{ 'page.error.text'|trans }}</div>
</div>
</h1>
</div>
</div>
{% endblock %}

View File

@ -6,6 +6,15 @@
{% 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 %}
<div class="ui vertical segment secondary">
<div class="ui container stackable grid">
@ -27,7 +36,7 @@
</tr>
<tr>
<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>
<td>{{ 'model.author' | trans }}</td><td>{{ model.author.name }}</td>

View File

@ -6,10 +6,21 @@
{% 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 %}
<div class="ui segment vertical">
<div class="ui segment vertical secondary">
<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">
<h3 class="header dividing ui">{{ 'model.filter.title' | trans }}</h3>
{{ form_start(form) }}
@ -31,18 +42,18 @@
<div class="segment basic ui">
<div class="ui header segment vertical sort">
<div class="ui grid stackable">
<div class="left floated left aligned eleven wide column">
<div class="ui text menu">
<div class="header item">Sort By</div>
{{ knp_pagination_sortable(models, 'Number', 'm.id') }}
{{ knp_pagination_sortable(models, 'Name', 'm.name') }}
<div class="five wide column">
<div class="ui text left floated menu">
<div class="header item">Showing</div>
<span class="item">{{ models.paginationData['firstItemNumber']~' - '~models.paginationData['lastItemNumber'] }} of {{ models.getTotalItemCount }} items</span>
</div>
</div>
<div class="right floated right aligned five wide column">
<div class="ui text menu right floated">
<div class="header item">Showing</div>
<span class="item">{{ models.getTotalItemCount }}</span>
<div class="eleven wide column">
<div class="ui text right floated menu">
<div class="header item">Sort By</div>
{{ knp_pagination_sortable(models, 'Number', 'm.id') }}
{{ knp_pagination_sortable(models, 'Name', 'm.name') }}
</div>
</div>
</div>

View File

@ -16,7 +16,7 @@
{% endblock %}
{% block content %}
<div class="ui vertical segment secondary">
<div class="ui vertical segment grey inverted tertiary">
<div class="ui container stackable grid">
<div class="row">
<div class="column ten wide">

View File

@ -35,11 +35,11 @@
<td>{{ 'set.name' | trans }}</td><td>{{ set.name }}</td>
</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>
<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>
<td>{{ 'set.parts' | trans }}</td><td>
@ -111,6 +111,4 @@
{% endif %}
</div>
</div>
{% endblock %}

View File

@ -18,7 +18,7 @@
{% endblock %}
{% block content %}
<div class="ui segment vertical">
<div class="ui segment vertical secondary">
<div class="ui container grid stackable divided">
<div class="column four wide alternate stripe mobile">
<div class="segment basic ui filter">
@ -48,10 +48,17 @@
</div>
<div class="column twelve wide">
<div class="ui segment basic">
<div class="ui header sort">
<div class="ui header segment vertical sort">
<div class="ui grid stackable">
<div class="left floated left aligned twelve wide column">
<div class="ui text menu">
<div class="five wide column">
<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>
{{ knp_pagination_sortable(sets, 'Number', ['s.id']) }}
@ -60,25 +67,18 @@
{{ knp_pagination_sortable(sets, 'Parts', ['s.partCount']) }}
</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 class="ui clearing divider"></div>
<div class="ui five column doubling grid sets" id="results">
{% for set in sets %}
{{ blocks.set(set) }}
{% else %}
{{ blocks.empty('empty.search.title' | trans ) }}
{% endfor %}
<div class="ui segment vertical">
<div class="ui five column doubling grid sets" id="results">
{% for set in sets %}
{{ blocks.set(set) }}
{% else %}
{{ blocks.empty('empty.search.title' | trans ) }}
{% endfor %}
</div>
</div>
<div class="ui clearing divider"></div>
<div class="ui footer right floated">
<div class="ui segment vertical right floated">
{{ knp_pagination_render(sets) }}
</div>
</div>

View File

@ -10,7 +10,7 @@
{% endfor %}
{% 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">
{% for inventorySet in inventorySets %}
{{ blocks.set(inventorySet.set, inventorySet.quantity) }}

View File

@ -5,18 +5,21 @@ namespace AppBundle\Controller;
use AppBundle\Entity\LDraw\Model;
use AppBundle\Form\Search\ModelSearchType;
use AppBundle\Model\ModelSearch;
use AppBundle\Repository\Rebrickable\SetRepository;
use Knp\Component\Pager\Paginator;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
/**
* Part controller.
*
* @Route("models")
* @Route("bricks")
*/
class ModelController extends Controller
{
@ -29,11 +32,11 @@ class ModelController extends Controller
{
$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);
$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 */
$paginator = $this->get('knp_paginator');
@ -61,15 +64,12 @@ class ModelController extends Controller
if ($model = $this->get('repository.ldraw.model')->findOneByNumber($id)) {
try {
$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;
$related = $this->get('repository.ldraw.model')->findAllRelatedModels($model->getId());
return $this->render('model/detail.html.twig', [
'model' => $model,
'rbParts' => $rbParts,
'sets' => $sets,
'related' => $related,
'subparts' => $subparts,

View File

@ -29,18 +29,18 @@ class SetController extends Controller
{
$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);
/** @var SetRepository $setRepository */
$setRepository = $this->get('fos_elastica.manager')->getRepository(Set::class);
$results = $setRepository->search($setSearch, 5000);
$results = $setRepository->search($setSearch, 500);
$paginator = $this->get('knp_paginator');
$sets = $paginator->paginate(
$results,
$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', [