Commit 6a90ac636e9dc66763390a488c47ded3f51ce8cb

Authored by fellipevasconcelos
1 parent 735d7109
Exists in master and in 2 other branches 3,1, 3.1

Correcoes impressoras

Controller/PrinterController.php
@@ -26,18 +26,73 @@ class PrinterController extends Controller @@ -26,18 +26,73 @@ class PrinterController extends Controller
26 /** 26 /**
27 * Lists all Printer entities. 27 * Lists all Printer entities.
28 * 28 *
29 - * @Route("/", name="printer") 29 + * @Route("/", name="printer_index")
30 * @Method("GET") 30 * @Method("GET")
31 * @Template() 31 * @Template()
32 */ 32 */
33 - public function indexAction() 33 + public function indexAction(Request $request)
34 { 34 {
35 $em = $this->getDoctrine()->getManager(); 35 $em = $this->getDoctrine()->getManager();
36 36
37 - $entities = $em->getRepository('CocarBundle:Printer')->findAll(); 37 + $form = $request->query->get('form');
38 38
  39 + if($form)
  40 + {
  41 + $start = new \DateTime($form['startDate']);
  42 + $start = $start->format('U');
  43 +
  44 + $end = new \DateTime($form['endDate']);
  45 + $end = $end->format('U');
  46 + }
  47 +
  48 + $start = isset($start) ? $start : (time() - ((60*60*24)*30));
  49 + $end = isset($end) ? $end : time();
  50 +
  51 + $printers = $em->getRepository('CocarBundle:Printer')->findAll();
  52 +
  53 + $printerCounter = array();
  54 +
  55 + foreach ($printers as $printer)
  56 + {
  57 + $printerCounter[$printer->getId()] = $em->createQuery(
  58 + "SELECT pc.id, pc.prints, pc.blackInk, pc.coloredInk FROM CocarBundle:PrinterCounter pc
  59 + WHERE (pc.date >= :start AND pc.date <= :end) AND (pc.printer = :id)
  60 + ORDER BY pc.id ASC"
  61 + )
  62 + ->setParameter('start', $start)
  63 + ->setParameter('end', $end)
  64 + ->setParameter('id', $printer->getId())
  65 + ->getResult();
  66 + }
  67 +
  68 + $pCounter = array();
  69 +
  70 + foreach ($printerCounter as $key => $counter)
  71 + {
  72 + $size = sizeof($counter)-1;
  73 +
  74 + if(isset($counter[$size]))
  75 + {
  76 + $pCounter[$key]['prints'] = $counter[$size]['prints'] - $counter[0]['prints'];
  77 + $pCounter[$key]['blackInk'] = $counter[$size]['blackInk'];
  78 + $pCounter[$key]['coloredInk'] = $counter[$size]['coloredInk'];
  79 + }
  80 + }
  81 +
  82 + $displayAll = ($request->query->get('all')) ? $request->query->get('all') : 0;
  83 +
  84 + if(!$displayAll)
  85 + {
  86 + $paginator = $this->get('knp_paginator');
  87 + $printers = $paginator->paginate($printers, $this->get('request')->query->get('page', 1), 10);
  88 + }
39 return array( 89 return array(
40 - 'entities' => $entities, 90 + "printer" => $printers,
  91 + "printerCounter" => $pCounter,
  92 + "form" => $this->createCalendarForm(0, new \DateTime(date("Y-m-d", $start)), new \DateTime(date("Y-m-d", $end)))->createView(),
  93 + "start" => $start,
  94 + "end" => $end,
  95 + "displayAll" => $displayAll
41 ); 96 );
42 } 97 }
43 /** 98 /**
@@ -258,12 +313,14 @@ class PrinterController extends Controller @@ -258,12 +313,14 @@ class PrinterController extends Controller
258 { 313 {
259 $em = $this->getDoctrine()->getManager(); 314 $em = $this->getDoctrine()->getManager();
260 315
  316 + $form = $request->request->get('form');
  317 +
261 if($request->request->get('form')) 318 if($request->request->get('form'))
262 { 319 {
263 - $start = new \DateTime($request->request->get('form')['startDate']); 320 + $start = new \DateTime($form['startDate']);
264 $start = $start->format('U'); 321 $start = $start->format('U');
265 322
266 - $end = new \DateTime($request->request->get('form')['endDate']); 323 + $end = new \DateTime($form['endDate']);
267 $end = $end->format('U'); 324 $end = $end->format('U');
268 } 325 }
269 326
@@ -282,24 +339,17 @@ class PrinterController extends Controller @@ -282,24 +339,17 @@ class PrinterController extends Controller
282 339
283 $pCounter = array(); 340 $pCounter = array();
284 341
  342 + $size = sizeof($printerCounter)-1;
  343 +
285 foreach ($printerCounter as $counter) 344 foreach ($printerCounter as $counter)
286 { 345 {
287 - if($counter === reset($printerCounter))  
288 - {  
289 - $pCounter['prints'] = $counter['prints'];  
290 - }  
291 -  
292 - if ($counter === end($printerCounter))  
293 - {  
294 - $pCounter['prints'] = $counter['prints'] - $pCounter['prints'];  
295 - $pCounter['blackInk'] = $counter['blackInk'];  
296 - $pCounter['coloredInk'] = $counter['coloredInk'];  
297 - } 346 + $pCounter['prints'] = $printerCounter[$size]['prints'] - $printerCounter[0]['prints'];
  347 + $pCounter['blackInk'] = $counter['blackInk'];
  348 + $pCounter['coloredInk'] = $counter['coloredInk'];
298 } 349 }
299 350
300 $printer = $em->getRepository('CocarBundle:Printer')->find($id); 351 $printer = $em->getRepository('CocarBundle:Printer')->find($id);
301 352
302 -  
303 return array( 353 return array(
304 "printer" => $printer, 354 "printer" => $printer,
305 "printerCounter" => $pCounter, 355 "printerCounter" => $pCounter,
Resources/public/css/pagination.css
@@ -396,7 +396,7 @@ a:link, a:visited, @@ -396,7 +396,7 @@ a:link, a:visited,
396 396
397 397
398 398
399 -ul.tsc_pagination { margin:4px 0; padding-left:414px; height:100%; overflow:hidden; font:12px 'Tahoma'; list-style-type:none; } 399 +ul.tsc_pagination { margin:4px 0; padding-left:377px; height:100%; overflow:hidden; font:12px 'Tahoma'; list-style-type:none; }
400 ul.tsc_pagination li { float:left; margin:0px; padding:0px; margin-left:5px; } 400 ul.tsc_pagination li { float:left; margin:0px; padding:0px; margin-left:5px; }
401 ul.tsc_pagination li:first-child { margin-left:0px; } 401 ul.tsc_pagination li:first-child { margin-left:0px; }
402 ul.tsc_pagination li a { color:black; display:block; text-decoration:none; padding:7px 10px 7px 10px; } 402 ul.tsc_pagination li a { color:black; display:block; text-decoration:none; padding:7px 10px 7px 10px; }
Resources/views/Printer/index.html.twig
@@ -2,25 +2,38 @@ @@ -2,25 +2,38 @@
2 2
3 {% block main -%} 3 {% block main -%}
4 <h2 class="general-title">Impressoras cadastradas</h2> 4 <h2 class="general-title">Impressoras cadastradas</h2>
5 - 5 + <center>
  6 + <ul>
  7 + <li>
  8 + <form action="{{ path('printer_index') }}" method="get" {{ form_enctype(form) }}>
  9 + {{ form_errors(form) }}
  10 + {{ form_widget(form.startDate) }}
  11 + {{ form_widget(form.endDate) }}
  12 + <button type="submit">Enviar</button>
  13 + </form>
  14 + </li>
  15 + </ul>
  16 + </center>
6 <table class="records_list"> 17 <table class="records_list">
7 <thead> 18 <thead>
8 <tr> 19 <tr>
9 <th>Id</th> 20 <th>Id</th>
10 - <th>Name</th>  
11 - <th>Description</th>  
12 - <th>Community</th> 21 + <th>Impressões</th>
  22 + <th>Nome</th>
13 <th>Host</th> 23 <th>Host</th>
14 - <th>Actions</th> 24 + <th>Ações</th>
15 </tr> 25 </tr>
16 </thead> 26 </thead>
17 <tbody> 27 <tbody>
18 - {% for entity in entities %} 28 + {% for entity in printer %}
19 <tr> 29 <tr>
20 <td><a href="{{ path('printer_show', { 'id': entity.id }) }}">{{ entity.id }}</a></td> 30 <td><a href="{{ path('printer_show', { 'id': entity.id }) }}">{{ entity.id }}</a></td>
  31 + <td>
  32 + {% if printerCounter[entity.id] is defined %}
  33 + {{ printerCounter[entity.id]['prints'] }}
  34 + {% endif %}
  35 + </td>
21 <td>{{ entity.name }}</td> 36 <td>{{ entity.name }}</td>
22 - <td>{{ entity.description }}</td>  
23 - <td>{{ entity.communitySnmpPrinter }}</td>  
24 <td>{{ entity.host }}</td> 37 <td>{{ entity.host }}</td>
25 <td> 38 <td>
26 <ul> 39 <ul>
@@ -39,8 +52,17 @@ @@ -39,8 +52,17 @@
39 {% endfor %} 52 {% endfor %}
40 </tbody> 53 </tbody>
41 </table> 54 </table>
42 -  
43 - <ul class="button"> 55 + {% if displayAll == 0 %}
  56 + {{ knp_pagination_render(printer, "CocarBundle::pagination.html.twig") }}
  57 + <div style="padding-top:30px">
  58 + <ul class="tsc_paginationB tsc_paginationB09">
  59 + <li>
  60 + <a href="{{ path('printer_index', {all: true}) }}">Visualizar todas as impressoras</a>
  61 + </li>
  62 + </ul>
  63 + </div>
  64 + {% endif %}
  65 + <ul class="button">
44 <li> 66 <li>
45 <a href="{{ path('printer_new') }}"> 67 <a href="{{ path('printer_new') }}">
46 Cadastrar uma nova impressora 68 Cadastrar uma nova impressora
Resources/views/Printer/show.html.twig
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 26
27 <ul class="record_actions"> 27 <ul class="record_actions">
28 <li> 28 <li>
29 - <a href="{{ path('printer') }}"> 29 + <a href="{{ path('printer_index') }}">
30 Lista de impressoras 30 Lista de impressoras
31 </a> 31 </a>
32 </li> 32 </li>
Resources/views/base.html.twig
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 {% block title 'Cocar' %} 3 {% block title 'Cocar' %}
4 4
5 {% block stylesheets %} 5 {% block stylesheets %}
  6 + {{ parent() }}
6 {% stylesheets filter='cssrewrite' 7 {% stylesheets filter='cssrewrite'
7 'bundles/cocar/css/*' 8 'bundles/cocar/css/*'
8 %} 9 %}
Resources/views/layout.html.twig
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
19 </a> 19 </a>
20 </li> 20 </li>
21 <li> 21 <li>
22 - <a href="{{ path('printer') }}" onmouseover="showHideLayers('descricao','Impressoras','show')" onmouseout="showHideLayers('descricao','','hide')"> 22 + <a href="{{ path('printer_index') }}" onmouseover="showHideLayers('descricao','Impressoras','show')" onmouseout="showHideLayers('descricao','','hide')">
23 <img border="0" src="{{asset('bundles/cocar/images/impressoras.png')}}" align="middle"> 23 <img border="0" src="{{asset('bundles/cocar/images/impressoras.png')}}" align="middle">
24 <span>Impressoras</span> 24 <span>Impressoras</span>
25 </a> 25 </a>
@@ -6,3 +6,4 @@ @@ -6,3 +6,4 @@
6 0 20 * * * php /var/www/cocar/app/console perform:task --endalarm 6 0 20 * * * php /var/www/cocar/app/console perform:task --endalarm
7 1,6,11,16,21,26,31,36,41,46,51,56 7-19 * * * php /var/www/projeto-cocar/app/console perform:task --status 7 1,6,11,16,21,26,31,36,41,46,51,56 7-19 * * * php /var/www/projeto-cocar/app/console perform:task --status
8 * * * * * php /var/www/cocar/app/console perform:task --monitor 8 * * * * * php /var/www/cocar/app/console perform:task --monitor
  9 +0 20 * * * php /var/www/cocar/app/console perform:task --printer
9 \ No newline at end of file 10 \ No newline at end of file