From f18d8348c5d20354dd053be0db3443d904160638 Mon Sep 17 00:00:00 2001 From: Gedeson Wasley Date: Fri, 28 Mar 2014 17:05:15 -0300 Subject: [PATCH] Paginação de software não utilizados --- src/Cacic/CommonBundle/Controller/SoftwareController.php | 4 ++-- src/Cacic/CommonBundle/Entity/SoftwareRepository.php | 19 ++++++++++++------- src/Cacic/CommonBundle/Form/Type/SoftwareEstacaoType.php | 13 ++++++++++++- src/Cacic/CommonBundle/Form/Type/UsbDeviceType.php | 2 +- src/Cacic/CommonBundle/Resources/config/routing.yml | 6 ++++-- src/Cacic/CommonBundle/Resources/views/Rede/index.html.twig | 10 +++++----- src/Cacic/CommonBundle/Resources/views/Software/naousados.html.twig | 6 +++++- src/Cacic/CommonBundle/Resources/views/UsbDevice/index.html.twig | 8 ++++---- src/Cacic/CommonBundle/Resources/views/base.html.twig | 2 +- src/Cacic/RelatorioBundle/Resources/views/Faturamento/faturamentoResultado.html.twig | 6 +++++- 10 files changed, 51 insertions(+), 25 deletions(-) diff --git a/src/Cacic/CommonBundle/Controller/SoftwareController.php b/src/Cacic/CommonBundle/Controller/SoftwareController.php index 663c8eb..5aecdec 100644 --- a/src/Cacic/CommonBundle/Controller/SoftwareController.php +++ b/src/Cacic/CommonBundle/Controller/SoftwareController.php @@ -159,7 +159,7 @@ class SoftwareController extends Controller * Tela de exclusão de Softwares não associados a nenhuma máquina * @param Symfony\Component\HttpFoundation\Request $request */ - public function naoUsadosAction( Request $request ) + public function naoUsadosAction( Request $request, $page ) { if ( $request->isMethod('POST') ) { @@ -191,7 +191,7 @@ class SoftwareController extends Controller return $this->render( 'CacicCommonBundle:Software:naousados.html.twig', array( - 'softwares' => $this->getDoctrine()->getRepository( 'CacicCommonBundle:Software' )->listarNaoUsados() + 'softwares' => $this->getDoctrine()->getRepository( 'CacicCommonBundle:Software' )->listarNaoUsados( $this->get( 'knp_paginator' ), $page ) ) ); } diff --git a/src/Cacic/CommonBundle/Entity/SoftwareRepository.php b/src/Cacic/CommonBundle/Entity/SoftwareRepository.php index f49f8aa..a4fc50c 100644 --- a/src/Cacic/CommonBundle/Entity/SoftwareRepository.php +++ b/src/Cacic/CommonBundle/Entity/SoftwareRepository.php @@ -77,15 +77,20 @@ class SoftwareRepository extends EntityRepository * * Método de listagem dos Softwares cadastrados que não estão associados a nenhuma máquina */ - public function listarNaoUsados() + public function listarNaoUsados( \Knp\Component\Pager\Paginator $paginator, $page = 1) { - $_dql = "SELECT s - FROM CacicCommonBundle:Software s - LEFT JOIN s.estacoes se - WHERE se IS NULL - ORDER BY s.nmSoftware ASC"; + $qb = $this->createQueryBuilder('sw') + ->select('sw.nmSoftware, sw.idSoftware') + ->leftJoin( 'sw.estacoes ','se') + ->where('se is null') + ->groupBy('sw.nmSoftware,sw.idSoftware') + ->orderBy('sw.nmSoftware','ASC'); - return $this->getEntityManager()->createQuery( $_dql )->getArrayResult(); + return $paginator->paginate( + $qb->getQuery()->execute(), + $page, + 10 + ); } /** diff --git a/src/Cacic/CommonBundle/Form/Type/SoftwareEstacaoType.php b/src/Cacic/CommonBundle/Form/Type/SoftwareEstacaoType.php index f2b7efc..b0833ab 100644 --- a/src/Cacic/CommonBundle/Form/Type/SoftwareEstacaoType.php +++ b/src/Cacic/CommonBundle/Form/Type/SoftwareEstacaoType.php @@ -4,6 +4,7 @@ namespace Cacic\CommonBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; +use Cacic\CommonBundle\Entity\SoftwareRepository; /** * @@ -18,10 +19,20 @@ class SoftwareEstacaoType extends AbstractType { $builder->add( 'idSoftware', - null, + 'entity', array( + 'class' => 'CacicCommonBundle:Software', + 'query_builder' => function(SoftwareRepository $er) { + return $er->createQueryBuilder('sw') + ->select('sw') + ->innerJoin('CacicCommonBundle:PropriedadeSoftware', 'prop', 'WITH', 'sw.idSoftware = prop.software') + ->innerJoin('CacicCommonBundle:ClassProperty', 'class','WITH', 'prop.classProperty = class.idClassProperty') + ->groupBy('class.idClassProperty, class.nmPropertyName, sw') + ->orderBy('sw.nmSoftware'); + }, 'property' => 'nmSoftware', 'empty_value' => 'Selecione', + 'max_length'=>100, 'label'=>'Software' ) ); diff --git a/src/Cacic/CommonBundle/Form/Type/UsbDeviceType.php b/src/Cacic/CommonBundle/Form/Type/UsbDeviceType.php index 63bbb23..1064673 100644 --- a/src/Cacic/CommonBundle/Form/Type/UsbDeviceType.php +++ b/src/Cacic/CommonBundle/Form/Type/UsbDeviceType.php @@ -39,7 +39,7 @@ class UsbDeviceType extends AbstractType $builder->add('teObservacao', 'textarea', array( 'label'=>'Observações', - 'required' => false + 'required' => true ) ); } diff --git a/src/Cacic/CommonBundle/Resources/config/routing.yml b/src/Cacic/CommonBundle/Resources/config/routing.yml index 5492960..a15590c 100644 --- a/src/Cacic/CommonBundle/Resources/config/routing.yml +++ b/src/Cacic/CommonBundle/Resources/config/routing.yml @@ -233,8 +233,10 @@ cacic_software_naoclassificados: page: \d+ cacic_software_naousados: - pattern: /software/naousados - defaults: { _controller: CacicCommonBundle:Software:naoUsados} + pattern: /software/naousados/{page} + defaults: { _controller: CacicCommonBundle:Software:naoUsados, page:1} + requirements: + page: \d+ cacic_configuracao_padrao: pattern: /configuracao/padrao diff --git a/src/Cacic/CommonBundle/Resources/views/Rede/index.html.twig b/src/Cacic/CommonBundle/Resources/views/Rede/index.html.twig index 58048d4..eb4882c 100644 --- a/src/Cacic/CommonBundle/Resources/views/Rede/index.html.twig +++ b/src/Cacic/CommonBundle/Resources/views/Rede/index.html.twig @@ -1,7 +1,7 @@ {% extends 'CacicCommonBundle::base.html.twig' %} {% block breadcrumb %} -
  • {{ "Subredes"|trans }}
  • +
  • {{ "Sub-redes"|trans }}
  • {% endblock %} {% block body %} @@ -10,19 +10,19 @@
    -

    {{ "Subredes"|trans }}

    +

    {{ "Sub-redes"|trans }}

    -

    {{ "Lista de Subredes cadastrados"|trans }}

    -

    {{ "Neste módulo deverão ser cadastrados as Subredes do sistema"|trans }}

    +

    {{ "Lista de Sub-redes cadastrados"|trans }}

    +

    {{ "Neste módulo deverão ser cadastrados as Sub-redes do sistema"|trans }}


    - + diff --git a/src/Cacic/CommonBundle/Resources/views/Software/naousados.html.twig b/src/Cacic/CommonBundle/Resources/views/Software/naousados.html.twig index 743fa01..c67a8f5 100644 --- a/src/Cacic/CommonBundle/Resources/views/Software/naousados.html.twig +++ b/src/Cacic/CommonBundle/Resources/views/Software/naousados.html.twig @@ -49,7 +49,11 @@
    {{ "Endereço"|trans }}
    {{ "Máscara"|trans }}
    {{ "Subrede"|trans }}{{ "Sub-rede"|trans }} {{ "Local"|trans }} {{ "Máquinas"|trans }} {{ "Autenticação"|trans }}
    - + + {# display navigation #} +