Commit 6c23994c4dc1d48085e6eff225c691060fb059f9

Authored by Eduardo Santos
Committed by Eduardo Santos
1 parent 59652fab
Exists in master

Coleta de hardware e software funcional

src/Cacic/CommonBundle/Controller/AgenteController.php
... ... @@ -115,7 +115,7 @@ class AgenteController extends Controller {
115 115 $current = @basename(@readlink($windowsDir."current"));
116 116 $saida['windows']['live_version'] = $current;
117 117  
118   - $logger->debug("4444444444444444444444444444444444 ".print_r($saida, true));
  118 + //$logger->debug("4444444444444444444444444444444444 ".print_r($saida, true));
119 119  
120 120 if ( $request->isMethod('POST') )
121 121 {
... ...
src/Cacic/CommonBundle/Controller/TipoSoController.php 0 → 100644
... ... @@ -0,0 +1,95 @@
  1 +<?php
  2 +
  3 +namespace Cacic\CommonBundle\Controller;
  4 +
  5 +use Symfony\Component\HttpFoundation\Request;
  6 +use Symfony\Component\HttpFoundation\Response;
  7 +use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  8 +use Cacic\CommonBundle\Entity\TipoSo;
  9 +use Cacic\CommonBundle\Form\Type\TipoSoType;
  10 +
  11 +
  12 +class TipoSoController extends Controller
  13 +{
  14 + public function indexAction( $page )
  15 + {
  16 + $arrso = $this->getDoctrine()->getRepository( 'CacicCommonBundle:TipoSo' )->paginar( $this->get( 'knp_paginator' ), $page );
  17 + return $this->render( 'CacicCommonBundle:TipoSo:index.html.twig', array( 'So' => $arrso ) );
  18 +
  19 + }
  20 + public function cadastrarAction(Request $request)
  21 + {
  22 + $so = new TipoSo();
  23 + $form = $this->createForm(new TipoSoType(), $so);
  24 +
  25 + if ( $request->isMethod('POST') )
  26 + {
  27 + $form->bind( $request );
  28 + if ( $form->isValid() )
  29 + {
  30 + $this->getDoctrine()->getManager()->persist( $so );
  31 + $this->getDoctrine()->getManager()->flush(); //Persiste os dados do sistema operacional
  32 +
  33 + $this->get('session')->getFlashBag()->add('success', 'Dados salvos com sucesso!');
  34 +
  35 + return $this->redirect( $this->generateUrl( 'cacic_sistemaoperacional_index') );
  36 + }
  37 + }
  38 +
  39 + return $this->render( 'CacicCommonBundle:So:cadastrar.html.twig', array( 'form' => $form->createView() ) );
  40 + }
  41 + /**
  42 + * Página de editar dados do sistema operacional
  43 + * @param int $idSo
  44 + */
  45 + public function editarAction( $idTipoSo, Request $request )
  46 + {
  47 + $so = $this->getDoctrine()->getRepository('CacicCommonBundle:TipoSo')->find( $idTipoSo );
  48 + if ( ! $so )
  49 + throw $this->createNotFoundException( 'Tipo de sistema operacional não encontrado' );
  50 + $form = $this->createForm( new TipoSoType(), $so);
  51 +
  52 + if ( $request->isMethod('POST') )
  53 + {
  54 + $form->bind( $request );
  55 +
  56 + if ( $form->isValid() )
  57 + {
  58 + $this->getDoctrine()->getManager()->persist( $so );
  59 + $this->getDoctrine()->getManager()->flush();// Efetuar a edição do sistema operacional
  60 +
  61 +
  62 + $this->get('session')->getFlashBag()->add('success', 'Dados salvos com sucesso!');
  63 +
  64 + return $this->redirect($this->generateUrl('cacic_tiposo_editar', array( 'idTipoSo' => $so->getIdTipoSo() ) ) );
  65 + }
  66 + }
  67 +
  68 + return $this->render( 'CacicCommonBundle:TipoSo:cadastrar.html.twig', array( 'form' => $form->createView() ) );
  69 + }
  70 +
  71 + /**
  72 + *
  73 + * [AJAX] Exclusão de tipo de sistema operacional já cadastrado
  74 + * @param integer $idTipoSo
  75 + */
  76 + public function excluirAction( Request $request )
  77 + {
  78 + if ( ! $request->isXmlHttpRequest() ) // Verifica se se trata de uma requisição AJAX
  79 + throw $this->createNotFoundException( 'Página não encontrada' );
  80 +
  81 + $So = $this->getDoctrine()->getRepository('CacicCommonBundle:TipoSo')->find( $request->get('id') );
  82 + if ( ! $So )
  83 + throw $this->createNotFoundException( 'Tipo de sistema operacional não encontrado' );
  84 +
  85 + $em = $this->getDoctrine()->getManager();
  86 + $em->remove( $So );
  87 + $em->flush();
  88 +
  89 + $response = new Response( json_encode( array('status' => 'ok') ) );
  90 + $response->headers->set('Content-Type', 'application/json');
  91 +
  92 + return $response;
  93 + }
  94 +
  95 +}
0 96 \ No newline at end of file
... ...
src/Cacic/CommonBundle/Entity/RedeRepository.php
... ... @@ -224,6 +224,12 @@ class RedeRepository extends EntityRepository
224 224 return $qb->getQuery()->execute();
225 225 }
226 226  
  227 + /**
  228 + * Computadores por subredes
  229 + *
  230 + * @return mixed
  231 + */
  232 +
227 233 public function computadoresSubredes(){
228 234 $rsm = new ResultSetMapping();
229 235  
... ... @@ -256,4 +262,18 @@ class RedeRepository extends EntityRepository
256 262  
257 263 return $query->execute();
258 264 }
  265 +
  266 + /**
  267 + * Retorna lista de servidores de atualização
  268 + *
  269 + * @return \Doctrine\ORM\QueryBuilder
  270 + */
  271 +
  272 + public function getServUpdateList() {
  273 +
  274 + $qb = $this->createQueryBuilder('rede')
  275 + ->select('DISTINCT (rede.teServUpdates) as teServUpdates');
  276 +
  277 + return $qb;
  278 + }
259 279 }
260 280 \ No newline at end of file
... ...
src/Cacic/CommonBundle/Entity/So.php
... ... @@ -158,4 +158,32 @@ class So
158 158 {
159 159 return $this->teDescSo . ' ('. $this->sgSo .')';
160 160 }
161   -}
162 161 \ No newline at end of file
  162 + /**
  163 + * @var \Cacic\CommonBundle\Entity\TipoSo
  164 + */
  165 + private $tipo;
  166 +
  167 +
  168 + /**
  169 + * Set tipo
  170 + *
  171 + * @param \Cacic\CommonBundle\Entity\TipoSo $tipo
  172 + * @return So
  173 + */
  174 + public function setTipo(\Cacic\CommonBundle\Entity\TipoSo $tipo = null)
  175 + {
  176 + $this->tipo = $tipo;
  177 +
  178 + return $this;
  179 + }
  180 +
  181 + /**
  182 + * Get tipo
  183 + *
  184 + * @return \Cacic\CommonBundle\Entity\TipoSo
  185 + */
  186 + public function getTipo()
  187 + {
  188 + return $this->tipo;
  189 + }
  190 +}
... ...
src/Cacic/CommonBundle/Entity/TipoSo.php 0 → 100644
... ... @@ -0,0 +1,100 @@
  1 +<?php
  2 +
  3 +namespace Cacic\CommonBundle\Entity;
  4 +
  5 +use Doctrine\ORM\Mapping as ORM;
  6 +
  7 +/**
  8 + * TipoSo
  9 + */
  10 +class TipoSo
  11 +{
  12 + /**
  13 + * @var integer
  14 + */
  15 + private $idTipoSo;
  16 +
  17 + /**
  18 + * @var string
  19 + */
  20 + private $tipo;
  21 +
  22 +
  23 + /**
  24 + * Get idTipoSo
  25 + *
  26 + * @return integer
  27 + */
  28 + public function getIdTipoSo()
  29 + {
  30 + return $this->idTipoSo;
  31 + }
  32 +
  33 + /**
  34 + * Set tipo
  35 + *
  36 + * @param string $tipo
  37 + * @return TipoSo
  38 + */
  39 + public function setTipo($tipo)
  40 + {
  41 + $this->tipo = $tipo;
  42 +
  43 + return $this;
  44 + }
  45 +
  46 + /**
  47 + * Get tipo
  48 + *
  49 + * @return string
  50 + */
  51 + public function getTipo()
  52 + {
  53 + return $this->tipo;
  54 + }
  55 + /**
  56 + * @var \Doctrine\Common\Collections\Collection
  57 + */
  58 + private $so;
  59 +
  60 + /**
  61 + * Constructor
  62 + */
  63 + public function __construct()
  64 + {
  65 + $this->so = new \Doctrine\Common\Collections\ArrayCollection();
  66 + }
  67 +
  68 + /**
  69 + * Add so
  70 + *
  71 + * @param \Cacic\CommonBundle\Entity\So $so
  72 + * @return TipoSo
  73 + */
  74 + public function addSo(\Cacic\CommonBundle\Entity\So $so)
  75 + {
  76 + $this->so[] = $so;
  77 +
  78 + return $this;
  79 + }
  80 +
  81 + /**
  82 + * Remove so
  83 + *
  84 + * @param \Cacic\CommonBundle\Entity\So $so
  85 + */
  86 + public function removeSo(\Cacic\CommonBundle\Entity\So $so)
  87 + {
  88 + $this->so->removeElement($so);
  89 + }
  90 +
  91 + /**
  92 + * Get so
  93 + *
  94 + * @return \Doctrine\Common\Collections\Collection
  95 + */
  96 + public function getSo()
  97 + {
  98 + return $this->so;
  99 + }
  100 +}
... ...
src/Cacic/CommonBundle/Entity/TipoSoRepository.php 0 → 100644
... ... @@ -0,0 +1,75 @@
  1 +<?php
  2 +
  3 +namespace Cacic\CommonBundle\Entity;
  4 +
  5 +use Doctrine\ORM\EntityRepository;
  6 +
  7 +use Cacic\CommonBundle\Entity\TipoSo;
  8 +
  9 +/**
  10 + * TipoSoRepository
  11 + *
  12 + * This class was generated by the Doctrine ORM. Add your own custom
  13 + * repository methods below.
  14 + */
  15 +class TipoSoRepository extends EntityRepository
  16 +{
  17 + /**
  18 + * Paginar
  19 + *
  20 + * @param \Knp\Component\Pager\Paginator $paginator
  21 + * @param int $page
  22 + * @return \Knp\Component\Pager\Pagination\PaginationInterface
  23 + */
  24 + public function paginar( \Knp\Component\Pager\Paginator $paginator, $page = 1 )
  25 + {
  26 + $_dql = "SELECT s
  27 + FROM CacicCommonBundle:TipoSo s
  28 + ORDER BY s.tipo";
  29 +
  30 + return $paginator->paginate(
  31 + $this->getEntityManager()->createQuery( $_dql ),
  32 + $page,
  33 + 10
  34 + );
  35 + }
  36 +
  37 + /**
  38 + *
  39 + * Método de listagem dos Tipo de Software cadastrados e respectivas informações
  40 + */
  41 + public function listar()
  42 + {
  43 + $_dql = "SELECT s
  44 + FROM CacicCommonBundle:TipoSo s
  45 + ORDER BY s.tipo";
  46 +
  47 + return $this->getEntityManager()->createQuery( $_dql )->getArrayResult();
  48 + }
  49 +
  50 + /**
  51 + * Insere tipo de SO
  52 + *
  53 + * @param $te_so
  54 + * @return TipoSo|null|object
  55 + */
  56 +
  57 + public function createIfNotExist( $te_so )
  58 + {
  59 + $so = $this->findOneBy( array ( 'tipo' => $te_so ) );
  60 +
  61 + if( empty( $so ) )
  62 + {
  63 + $so = new TipoSo();
  64 +
  65 + $so->setTipo($te_so);
  66 + $this->getEntityManager()->persist( $so );
  67 + $this->getEntityManager()->flush();
  68 +
  69 + }
  70 +
  71 + return $so;
  72 +
  73 + }
  74 +
  75 +}
... ...
src/Cacic/CommonBundle/Entity/TipoSoftware.php
... ... @@ -62,4 +62,4 @@ class TipoSoftware
62 62 {
63 63 return $this->getTeDescricaoTipoSoftware();
64 64 }
65   -}
66 65 \ No newline at end of file
  66 +}
... ...
src/Cacic/CommonBundle/Form/Type/SoType.php
... ... @@ -48,6 +48,15 @@ class SoType extends AbstractType
48 48 'label'=>'Sistema Operacional MS-Windows'
49 49 )
50 50 );
  51 + $builder->add(
  52 + 'tipo',
  53 + 'entity',
  54 + array(
  55 + 'label' => 'Tipo de Sistema Operacional',
  56 + 'class' => 'CacicCommonBundle:TipoSo',
  57 + 'property' => 'tipo'
  58 + )
  59 + );
51 60 }
52 61  
53 62 /**
... ...
src/Cacic/CommonBundle/Form/Type/TipoSoType.php 0 → 100644
... ... @@ -0,0 +1,41 @@
  1 +<?php
  2 +
  3 +namespace Cacic\CommonBundle\Form\Type;
  4 +
  5 +use Symfony\Component\Form\AbstractType;
  6 +use Symfony\Component\Form\FormBuilderInterface;
  7 +
  8 +/**
  9 + *
  10 + *
  11 + * @author lightbase
  12 + *
  13 + */
  14 +class TipoSoType extends AbstractType
  15 +{
  16 +
  17 + /**
  18 + * Adiciona So
  19 + *
  20 + * @param FormBuilderInterface $builder
  21 + * @param array $options
  22 + */
  23 + public function buildForm( FormBuilderInterface $builder, array $options )
  24 + {
  25 + $builder->add(
  26 + 'tipo',
  27 + null,
  28 + array( 'label'=>'Tipo de SO' )
  29 + );
  30 + }
  31 +
  32 + /**
  33 + * (non-PHPdoc)
  34 + * @see Symfony\Component\Form.FormTypeInterface::getName()
  35 + */
  36 + public function getName()
  37 + {
  38 + return 'TipoSo';
  39 + }
  40 +
  41 +}
0 42 \ No newline at end of file
... ...
src/Cacic/CommonBundle/Resources/config/doctrine/So.orm.yml
... ... @@ -31,4 +31,15 @@ Cacic\CommonBundle\Entity\So:
31 31 fixed: true
32 32 nullable: false
33 33 column: in_mswindows
  34 + manyToOne:
  35 + tipo:
  36 + targetEntity: TipoSo
  37 + cascade: { }
  38 + mappedBy: null
  39 + inversedBy: null
  40 + nullable: true
  41 + joinColumns:
  42 + id_tipo_so:
  43 + referencedColumnName: id_tipo_so
  44 + orphanRemoval: false
34 45 lifecycleCallbacks: { }
... ...
src/Cacic/CommonBundle/Resources/config/doctrine/TipoSo.orm.yml 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +Cacic\CommonBundle\Entity\TipoSo:
  2 + type: entity
  3 + table: tipo_so
  4 + repositoryClass: Cacic\CommonBundle\Entity\TipoSoRepository
  5 + fields:
  6 + idTipoSo:
  7 + id: true
  8 + type: integer
  9 + unsigned: false
  10 + nullable: false
  11 + column: id_tipo_so
  12 + generator:
  13 + strategy: IDENTITY
  14 + tipo:
  15 + type: text
  16 + fixed: false
  17 + nullable: true
  18 + column: tipo
  19 + oneToMany:
  20 + so:
  21 + targetEntity: So
  22 + mappedBy: tipo
  23 + lifecycleCallbacks: { }
... ...
src/Cacic/CommonBundle/Resources/config/routing.yml
... ... @@ -300,10 +300,6 @@ cacic_grupo_usuario_excluir:
300 300 pattern: /admin/grupousuario/excluir
301 301 defaults: { _controller: CacicCommonBundle:GrupoUsuario:excluir}
302 302  
303   -cacic_ateste:
304   - pattern: /admin/ateste/
305   - defaults: { _controller: CacicCommonBundle:Ateste:index }
306   -
307 303 cacic_agente:
308 304 pattern: /admin/agente/
309 305 defaults: { _controller: CacicCommonBundle:Agente:index }
... ... @@ -329,6 +325,10 @@ cacic_atualizacao_subredes:
329 325 # INÍCIO: Usuário com perfil manutenção
330 326 ############################################
331 327  
  328 +cacic_ateste:
  329 + pattern: /manutencao/ateste/
  330 + defaults: { _controller: CacicCommonBundle:Ateste:index }
  331 +
332 332 cacic_aplicativo_index:
333 333 pattern: /manutencao/aplicativo/{page}
334 334 defaults: {_controller: CacicCommonBundle:Aplicativo:index, page: 1 }
... ... @@ -370,6 +370,8 @@ cacic_tiposoftware_excluir:
370 370 pattern: /manutencao/tiposoftware/excluir
371 371 defaults: { _controller: CacicCommonBundle:TipoSoftware:excluir}
372 372  
  373 +# Sistemas Operacionais
  374 +
373 375 cacic_sistemaoperacional_index:
374 376 pattern: /manutencao/sistemaoperacional/{page}
375 377 defaults: {_controller: CacicCommonBundle:So:index, page: 1 }
... ... @@ -390,6 +392,28 @@ cacic_sistemaoperacional_excluir:
390 392 pattern: /manutencao/sistemaoperacional/excluir
391 393 defaults: { _controller: CacicCommonBundle:So:excluir}
392 394  
  395 +
  396 +cacic_tiposo_index:
  397 + pattern: /manutencao/tiposo/{page}
  398 + defaults: {_controller: CacicCommonBundle:TipoSo:index, page: 1 }
  399 + requirements:
  400 + page: \d+
  401 +
  402 +cacic_tiposo_cadastrar:
  403 + pattern: /manutencao/tiposo/cadastrar
  404 + defaults: { _controller: CacicCommonBundle:TipoSo:cadastrar}
  405 +
  406 +cacic_tiposo_editar:
  407 + pattern: /manutencao/tiposo/editar/{idTipoSo}
  408 + defaults: { _controller: CacicCommonBundle:TipoSo:editar}
  409 + requirements:
  410 + idTipoSo: \d+
  411 +
  412 +cacic_tiposo_excluir:
  413 + pattern: /manutencao/tiposo/excluir
  414 + defaults: { _controller: CacicCommonBundle:TipoSo:excluir}
  415 +
  416 +
393 417 cacic_software_index:
394 418 pattern: /manutencao/software/{page}
395 419 defaults: {_controller: CacicCommonBundle:Software:index, page: 1 }
... ...
src/Cacic/CommonBundle/Resources/views/So/index.html.twig
... ... @@ -22,11 +22,12 @@
22 22 <thead>
23 23 <tr>
24 24 <th width="15%">{{ "Descrição"|trans }}</th>
25   - <th width="15%" style="text-align: center" >MS-Windows?</th>
  25 + <th width="10%" style="text-align: center" >MS-Windows?</th>
26 26 <th width="15%" style="text-align: center" >{{ "ID Interna"|trans }}</th>
27   - <th width="15%" style="text-align: center">{{ "ID Externa"|trans }}</th>
  27 + <th width="10%" style="text-align: center">{{ "ID Externa"|trans }}</th>
28 28 <th width="15%">{{ "Sigla"|trans }}</th>
29 29 <th width="15%">{{ "Total de Máquinas"|trans }}</th>
  30 + <th width="10%">{{ "Tipo de SO"|trans }}</th>
30 31 <th style="text-align: center">{{ "Ações"|trans }}</th>
31 32 </tr>
32 33 </thead>
... ... @@ -41,6 +42,11 @@
41 42 <td style="text-align: center">{{ so.idSo }}</td>
42 43 <td>{{ so.sgSo }}</td>
43 44 <td></td>
  45 + {% if so.tipo is empty %}
  46 + <td></td>
  47 + {% else %}
  48 + <td>{{ so.tipo.tipo }}</td>
  49 + {% endif %}
44 50 <td style="text-align: center" class="td-actions">
45 51 <a href="{{ path('cacic_sistemaoperacional_editar', {'idSo': so.idSo }) }}" class="btn btn-small" title="{{ "Editar Item"|trans }}">
46 52 <i class="btn-icon-only icon-edit icon-large"></i>
... ...
src/Cacic/CommonBundle/Resources/views/TipoSo/cadastrar.html.twig 0 → 100644
... ... @@ -0,0 +1,67 @@
  1 +{% extends 'CacicCommonBundle::base.html.twig' %}
  2 +
  3 +{% block breadcrumb %}
  4 + <li><a href="{{ path('cacic_tiposo_index') }}">{{ "Sistemas Operacionais"|trans }}</a></li> /
  5 + <li class="active">{{ "Cadastro"|trans }}</li>
  6 +{% endblock %}
  7 +
  8 +{% block body %}
  9 +
  10 +<div class="row-fluid">
  11 +
  12 + <div class="span8">
  13 +
  14 + <div class="box grad_colour_black">
  15 +
  16 + <h2 class="box_head round_top"><i class="icon-edit icon-large"></i> {{ "Dados do Sistema Operacional"|trans }}</h2>
  17 +
  18 + <div class="block box_content round_bottom padding_10">
  19 +
  20 + <form id={{ 'formTipoSo'|trans }} class="form-horizontal" action="{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}" method="post" {{ form_enctype(form) }}>
  21 + <div class="tabbable">
  22 + {{ form_widget(form, {'form_type': 'horizontal'} ) }}
  23 + {{ form_rest(form) }}
  24 + </div>
  25 + <br />
  26 + <div class="control-group">
  27 + <div class="controls">
  28 + <button type="reset" class="btn">
  29 + <i class="icon-refresh"></i>
  30 + {{ "Resetar Valores"|trans }}
  31 + </button>
  32 + <button type="submit" class="btn btn-primary">
  33 + <i class="icon-ok-sign"></i>
  34 + {{ "Salvar Dados"|trans }}
  35 + </button>
  36 + </div>
  37 + </div>
  38 +
  39 + </form>
  40 +
  41 + <hr />
  42 + <div>
  43 + <a class="btn btn-danger" href="{{ path('cacic_tiposo_index') }}">
  44 + <i class="icon-remove-sign"></i>
  45 + {{ "Cancelar"|trans }}
  46 + </a>
  47 + </div>
  48 +
  49 + </div> <!-- /block -->
  50 + </div> <!-- /box -->
  51 + </div> <!-- /span8 -->
  52 +
  53 + <div class="span4">
  54 + <div class="box grad_colour_black">
  55 +
  56 + <h2 class="box_head round_top"><i class="icon-info-sign"></i> {{ "Informações Adicionais"|trans }}</h2>
  57 +
  58 + <div class="block box_content round_bottom padding_10">
  59 + <p>
  60 + {{ "Os itens destacados em"|trans }} <b class="red">{{ "vermelho"|trans }}</b> {{ "são de preenchimento obrigatório"|trans }}.
  61 + </p>
  62 + </div> <!-- /block -->
  63 + </div> <!-- /box -->
  64 + </div> <!-- span4 -->
  65 +
  66 +</div> <!-- /row -->
  67 +{% endblock %}
0 68 \ No newline at end of file
... ...
src/Cacic/CommonBundle/Resources/views/TipoSo/index.html.twig 0 → 100644
... ... @@ -0,0 +1,69 @@
  1 +{% extends 'CacicCommonBundle::base.html.twig' %}
  2 +
  3 +{% block breadcrumb %}
  4 + <li class="active">{{ "Tipos de Sistema Operacional"|trans }}</li>
  5 +{% endblock %}
  6 +
  7 +{% block body %}
  8 +
  9 +<div class="row-fluid">
  10 + <div class="span12">
  11 + <div class="box grad_colour_black">
  12 +
  13 + <h2 class="box_head round_top"><i class="icon-cog"></i> {{ "Tipos de Sistema Operacional"|trans }}</h2>
  14 +
  15 + <div class="block box_content round_bottom padding_10">
  16 +
  17 + <h3>{{ "Lista de Tipos de Sistemas Operacionais cadastrados"|trans }}</h3>
  18 + <p>{{ "Neste módulo deverão ser cadastrados os Tipos de Sistema Operacional"|trans }}</p>
  19 + <br />
  20 +
  21 + <table class="table table-striped table-bordered">
  22 + <thead>
  23 + <tr>
  24 + <th>{{ "Tipo"|trans }}</th>
  25 + <th style="text-align: center">{{ "Ações"|trans }}</th>
  26 + </tr>
  27 + </thead>
  28 +
  29 + <tbody>
  30 +
  31 + {% for so in So %}
  32 + <tr id="item_{{ so.idTipoSo }}" class="{{ cycle(['row0', 'row1'], loop.index) }}">
  33 + <td id="item_desc_{{ so.idTipoSo }}">{{ so.tipo }}</td>
  34 + <td style="text-align: center" class="td-actions">
  35 + <a href="{{ path('cacic_tiposo_editar', {'idTipoSo': so.idTipoSo }) }}" class="btn btn-small" title="{{ "Editar Item"|trans }}">
  36 + <i class="btn-icon-only icon-edit icon-large"></i>
  37 + </a>
  38 +
  39 + <a href="{{ path('cacic_tiposo_excluir') }}" class="btn btn-small btn-danger bt-excluir" title="{{ "Excluir Item"|trans }}">
  40 + <i class="btn-icon-only icon-trash icon-large"></i>
  41 + </a>
  42 + </td>
  43 + </tr>
  44 + {% else %}
  45 + <tr>
  46 + <td style="text-align: center;" colspan="2"><b>{{ "NENHUM REGISTRO ENCONTRADO!"|trans }}</b></td>
  47 + </tr>
  48 + {% endfor %}
  49 +
  50 + </tbody>
  51 + </table>
  52 +
  53 + {# display navigation #}
  54 + <div class="navigation">
  55 + {{ knp_pagination_render(So) }}
  56 + </div>
  57 +
  58 + <div align="right">
  59 + <a class="btn btn-primary bt-adicionar" href="{{ path('cacic_tiposo_cadastrar') }}">
  60 + <i class="icon-plus-sign"></i>
  61 + {{ "Adicionar Tipo de Sistema Operacional"|trans }}
  62 + </a>
  63 + </div>
  64 + </div> <!-- /block -->
  65 + </div><!-- /box -->
  66 +
  67 + </div><!-- /span -->
  68 +</div><!-- /row -->
  69 +{% endblock %}
0 70 \ No newline at end of file
... ...
src/Cacic/CommonBundle/Resources/views/base.html.twig
... ... @@ -29,11 +29,11 @@
29 29 <span class="icon">&nbsp;</span>
30 30 </a>
31 31 <ul>
32   - <li><a href="{{ path('cacic_subrede_manutencao') }}">{{ "Atualização de Subrede"|trans }}</a></li>
33   - <li><a href="{{ path('cacic_subrede_computadores') }}">{{ "Computadores e Subredes"|trans }}</a></li>
  32 + <li><a href="{{ path('cacic_agente') }}">{{ "Upload de Agentes"|trans }}</a></li>
  33 + <li><a href="{{ path('cacic_deploy') }}">{{ "Deploy de software"|trans }}</a></li>
  34 + <li><a href="{{ path('cacic_atualizacao_subredes') }}">{{ "Atualização de Subrede"|trans }}</a></li>
34 35 </ul>
35 36 </li>
36   - <li><a href="{{ path('cacic_modulo_index') }}">{{ "Configurar Módulos"|trans }}</a></li>
37 37  
38 38 <li class="dropdown-submenu">
39 39 <a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">
... ... @@ -45,6 +45,7 @@
45 45 <li><a href="{{ path('cacic_log_atividade') }}">{{ "Atividades"|trans }}</a></li>
46 46 <li><a href="{{ path('cacic_log_insucesso_instalacao') }}">{{ "Insucessos Instalação"|trans }}</a></li>
47 47 <li><a href="{{ path('cacic_log_suporte_remoto') }}">{{ "Suporte Remoto Seguro"|trans }}</a></li>
  48 + <li><a href="{{ path('cacic_relatorio_usuario') }}">{{ "Usuário Logado"|trans }}</a></li>
48 49 </ul>
49 50 </li>
50 51 <li class="dropdown-submenu" >
... ... @@ -56,13 +57,20 @@
56 57 <li><a href="{{ path('cacic_local_index') }}">{{ "Locais"|trans }}</a></li>
57 58 <li><a href="{{ path('cacic_servidorautenticacao_index') }}">{{ "Servidores Autenticação"|trans }}</a></li>
58 59 <li><a href="{{ path('cacic_subrede_index') }}">{{ "Sub-redes"|trans }}</a></li>
59   - <li><a href="{{ path('cacic_aplicativo_index') }}">{{ "Aplicativo"|trans }}</a></li>
60   - <li><a href="{{ path('cacic_usuario_index') }}">{{ "Usuários"|trans }}</a></li>
61   - <li><a href="{{ path('cacic_grupo_usuario_index') }}">{{ "Grupo de Usuários"|trans }}</a></li>
62   - <li><a href="{{ path('cacic_tiposoftware_index') }}">{{ "Tipos Softwares"|trans }}</a></li>
  60 + <li><a href="{{ path('cacic_aplicativo_index') }}">{{ "Aplicativos Monitorados"|trans }}</a></li>
63 61 <li><a href="{{ path('cacic_sistemaoperacional_index') }}">{{ "Sistemas Operacionais"|trans }}</a></li>
64   - <li><a href="{{ path('cacic_software_index') }}">{{ "Softwares"|trans }}</a></li>
65 62 <li><a href="{{ path('cacic_usbdevice_index') }}">{{ "Dispositivos USB"|trans }}</a></li>
  63 + <li><a href="{{ path('cacic_subrede_computadores') }}">{{ "Computadores e Subredes"|trans }}</a></li>
  64 + </ul>
  65 + </li>
  66 + <li class="dropdown-submenu" >
  67 + <a href="javascript:void(0)">
  68 + {{ "Usuários"|trans }}
  69 + <span class="icon">&nbsp;</span>
  70 + </a>
  71 + <ul>
  72 + <li><a href="{{ path('cacic_usuario_index') }}">{{ "Cadastro de Usuários"|trans }}</a></li>
  73 + <li><a href="{{ path('cacic_grupo_usuario_index') }}">{{ "Grupo de Usuários"|trans }}</a></li>
66 74 </ul>
67 75 </li>
68 76 <li class="dropdown-submenu" >
... ... @@ -71,7 +79,6 @@
71 79 <span class="icon">&nbsp;</span>
72 80 </a>
73 81 <ul>
74   - <li ><a href="{{ path('cacic_patrimonio_index')}}">{{ "Interface"|trans }}</a></li>
75 82 <li ><a href="{{ path('cacic_uorg_index')}}">{{ "Unidades Organizacionais"|trans }}</a></li>
76 83 <li ><a href="{{ path('cacic_uorg_type_index')}}">{{ "Tipos de Unidade"|trans }} <br> {{ "Organizacional"|trans }}</a></li>
77 84 <li ><a href="{{ path('cacic_patrimonio_opcoes')}}">{{ "Opções"|trans }}</a></li>
... ... @@ -87,7 +94,18 @@
87 94 <span>{{ "Manutenção"|trans }}</span>
88 95 <span class="icon">&nbsp;</span>
89 96 </a>
90   - <ul >
  97 + <ul>
  98 + <li class="dropdown-submenu" >
  99 + <a href="javascript:void(0)">
  100 + <span>{{ "Cadastros"|trans }}</span>
  101 + <span class="icon">&nbsp;</span>
  102 + </a>
  103 + <ul>
  104 + <li><a href="{{ path('cacic_tiposo_index') }}">{{ "Tipos de SO"|trans }}</a></li>
  105 + <li><a href="{{ path('cacic_sistemaoperacional_index') }}">{{ "Sistemas Operacionais"|trans }}</a></li>
  106 + <li><a href="{{ path('cacic_usbdevice_index') }}">{{ "Dispositivos USB"|trans }}</a></li>
  107 + </ul>
  108 + </li>
91 109 <li class="dropdown-submenu" >
92 110 <a href="javascript:void(0)">
93 111 {{ "Classificaçao de software"|trans }}
... ... @@ -103,11 +121,14 @@
103 121 {{ "Gerência Aquisições"|trans }}
104 122 <span class="icon">&nbsp;</span>
105 123 </a>
106   - <ul >
  124 + <ul>
  125 + <li><a href="{{ path('cacic_tiposoftware_index') }}">{{ "Tipos Softwares"|trans }}</a></li>
  126 + <li><a href="{{ path('cacic_software_index') }}">{{ "Classificar software"|trans }}</a></li>
107 127 <li><a href="{{ path('cacic_aquisicao_index') }}">{{ "Aquisições"|trans }}</a></li>
108 128 <li><a href="{{ path('cacic_aquisicao_item_index') }}">{{ "Itens adquiridos"|trans }}</a></li>
109 129 <li><a href="{{ path('cacic_software_estacao_index') }}">{{ "Software por estações"|trans }}</a></li>
110 130 <li><a href="{{ path('cacic_tipo_licenca_index') }}">{{ "Tipos de Licença"|trans }}</a></li>
  131 + <li><a href="{{ path('cacic_relatorio_autorizacoes') }}">{{ "Softwares Autorizados"|trans }}</a></li>
111 132 </ul>
112 133 </li>
113 134 <li class="dropdown-submenu" >
... ... @@ -116,8 +137,8 @@
116 137 <span class="icon">&nbsp;</span>
117 138 </a>
118 139 <ul>
119   - <li><a href="{{ path('cacic_subrede_manutencao') }}">{{ "Atualização de Subrede"|trans }}</a></li>
120   - <li><a href="{{ path('cacic_subrede_computadores') }}">{{ "Computadores e Subredes"|trans }}</a></li>
  140 + <li><a href="{{ path('cacic_computador_coletar') }}">{{ "Forçar coleta computador"|trans }}</a></li>
  141 + <li><a href="{{ path('cacic_rede_coletar') }}">{{ "Forçar coleta subrede"|trans }}</a></li>
121 142 </ul>
122 143 </li>
123 144 </ul>
... ... @@ -134,9 +155,6 @@
134 155 <li><a href="{{ path('cacic_computador_consultar') }}">{{ "Consultar"|trans }}</a></li>
135 156 <li><a href="{{ path('cacic_computador_buscar') }}">{{ "Busca avançada"|trans }}</a></li>
136 157 <li><a href="{{ path('cacic_computador_versaoagente') }}">{{ "Versões Agentes"|trans }}</a></li>
137   - <li><a href="{{ path('cacic_computador_coletar') }}">{{ "Forçar coleta computador"|trans }}</a></li>
138   - <li><a href="{{ path('cacic_rede_coletar') }}">{{ "Forçar coleta subrede"|trans }}</a></li>
139   -
140 158 </ul>
141 159 </li>
142 160  
... ... @@ -168,11 +186,10 @@
168 186 </a>
169 187 {{ knp_menu_render('CacicRelatorioBundle:Builder:relatorioMenu') }}
170 188 </li>
171   - <li><a class="round_top" href="{{ path('cacic_relatorio_usuario') }}">{{ "Usuário Logado"|trans }}</a></li>
172   - <li><a class="round_top" href="{{ path('cacic_relatorio_autorizacoes') }}">{{ "Autorizações"|trans }}</a></li>
173 189 <li><a class="round_top" href="{{ path('cacic_relatorio_faturamento') }}">{{ "Faturamento"|trans }}</a></li>
174 190 <li><a class="round_top" href="{{ path('cacic_relatorio_inativos') }}">{{ "Sem Coleta"|trans }}</a></li>
175 191 <li><a class="round_top" href="{{ path('cacic_relatorio_patrimonio') }}">{{ "Patrimônio"|trans }}</a></li>
  192 + <li><a class="round_top" href="{{ path('cacic_ateste') }}">{{ "Relatório para Ateste"|trans }}</a></li>
176 193 </ul>
177 194 </li>
178 195  
... ...
src/Cacic/WSBundle/Controller/NeoController.php
... ... @@ -381,6 +381,11 @@ class NeoController extends Controller {
381 381 // Pega rede e SO
382 382 $rede = $em->getRepository('CacicCommonBundle:Rede')->getDadosRedePreColeta( $ip_computador, $netmask );
383 383 $so = $em->getRepository('CacicCommonBundle:So')->createIfNotExist($so_json['nomeOs']);
  384 + if (array_key_exists('tipo', $so_json)) {
  385 + $tipo_so = $em->getRepository('CacicCommonBundle:TipoSo')->createIfNotExist($so_json['tipo']);
  386 + $so->setTipo($tipo_so);
  387 + $em->persist($so);
  388 + }
384 389  
385 390 // Regra: MAC e SO são únicos e não podem ser nulos
386 391 // Se SO ou MAC forem vazios, tenta atualizar forçadamente
... ...
src/Cacic/WSBundle/Tests/Controller/NeoControllerTest.php
... ... @@ -27,6 +27,192 @@ class NeoControllerTest extends BaseTestCase
27 27 $this->client = static::createClient();
28 28 $this->container = $this->client->getContainer();
29 29 $this->apiKey = $this->container->getParameter('test_api_key');
  30 + $this->computador = '{
  31 + "computador": {
  32 + "networkDevices": [
  33 + {
  34 + "ipv4": "10.1.0.56",
  35 + "ipv6": "fe80::295b:a8db:d433:ebe%4",
  36 + "mac": "9C:D2:1E:EA:E0:89",
  37 + "netmask_ipv4": "255.255.255.0",
  38 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  39 + "nome": "Wi-Fi"
  40 + },
  41 + {
  42 + "ipv4": "192.168.56.1",
  43 + "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
  44 + "mac": "08:00:27:00:14:2B",
  45 + "netmask_ipv4": "255.255.255.0",
  46 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  47 + "nome": "VirtualBox Host-Only Network"
  48 + }
  49 + ],
  50 + "operatingSystem": {
  51 + "idOs": 176,
  52 + "nomeOs": "Windows_NT",
  53 + "tipo": "Windows-64-bit"
  54 + },
  55 + "usuario": "Eric Menezes",
  56 + "nmComputador": "Notebook-XPTO",
  57 + "versaoAgente": "2.8.0"
  58 + }
  59 + }';
  60 + $this->sem_mac = '{
  61 + "computador": {
  62 + "networkDevices": [
  63 + {
  64 + "ipv4": "10.1.0.56",
  65 + "ipv6": "fe80::295b:a8db:d433:ebe%4",
  66 + "netmask_ipv4": "255.255.255.0",
  67 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  68 + "nome": "Wi-Fi"
  69 + },
  70 + {
  71 + "ipv4": "192.168.56.1",
  72 + "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
  73 + "netmask_ipv4": "255.255.255.0",
  74 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  75 + "nome": "VirtualBox Host-Only Network"
  76 + }
  77 + ],
  78 + "operatingSystem": {
  79 + "idOs": 176,
  80 + "nomeOs": "Windows_NT"
  81 + },
  82 + "usuario": "Eric Menezes",
  83 + "nmComputador": "Notebook-XPTO",
  84 + "versaoAgente": "2.8.0"
  85 + }
  86 + }';
  87 + $this->coleta = '{
  88 + "computador": {
  89 + "networkDevices": [
  90 + {
  91 + "ipv4": "10.1.0.56",
  92 + "ipv6": "fe80::295b:a8db:d433:ebe%4",
  93 + "mac": "9C:D2:1E:EA:E0:89",
  94 + "netmask_ipv4": "255.255.255.0",
  95 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  96 + "nome": "Wi-Fi"
  97 + },
  98 + {
  99 + "ipv4": "192.168.56.1",
  100 + "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
  101 + "mac": "08:00:27:00:14:2B",
  102 + "netmask_ipv4": "255.255.255.0",
  103 + "netmask_ipv6": "ffff:ffff:ffff:ffff::",
  104 + "nome": "VirtualBox Host-Only Network"
  105 + }
  106 + ],
  107 + "operatingSystem": {
  108 + "idOs": 176,
  109 + "nomeOs": "Windows_NT"
  110 + },
  111 + "usuario": "Eric Menezes",
  112 + "nmComputador": "Notebook-XPTO",
  113 + "versaoAgente": "2.8.0"
  114 + },
  115 + "hardware": {
  116 + "bios": {
  117 + "releaseDate": "11/12/2013",
  118 + "romSize": "4096 kB",
  119 + "runtimeSize": "128 kB",
  120 + "vendor": "Dell Inc.",
  121 + "version": "A07"
  122 + },
  123 + "cpu": {
  124 + "clock": "768000000 Hz",
  125 + "name": "Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz",
  126 + "vendor": "Intel Corp."
  127 + },
  128 + "ethernet_card": {
  129 + "capacity": "100000000 bits/s",
  130 + "description": "Ethernet interface",
  131 + "logicalname": "eth0",
  132 + "product": "RTL8101E/RTL8102E PCI Express Fast Ethernet controller",
  133 + "serial": "78:2b:cb:eb:36:24",
  134 + "vendor": "Realtek Semiconductor Co., Ltd."
  135 + },
  136 + "isNotebook": {
  137 + "value": "true"
  138 + },
  139 + "memory": {
  140 + "size": "8589934592 bytes"
  141 + },
  142 + "motherboard": {
  143 + "assetTag": "Not Specified",
  144 + "manufacturer": "Dell Inc.",
  145 + "onboardCapabilities": [
  146 + "Video"
  147 + ],
  148 + "productName": "0YK7DY",
  149 + "serialNumber": ".CSQKLZ1.BR1081943R0013.",
  150 + "version": "A00"
  151 + },
  152 + "wireless_card": {
  153 + "description": "Wireless interface",
  154 + "firmware": "N/A",
  155 + "logicalname": "wlan0",
  156 + "product": "QCA9565 / AR9565 Wireless Network Adapter",
  157 + "serial": "9c:d2:1e:ea:e0:89",
  158 + "vendor": "Qualcomm Atheros"
  159 + }
  160 + },
  161 + "software": {
  162 + "": {
  163 + "name": ""
  164 + },
  165 + "account-plugin-aim": {
  166 + "description": "Messaging account plugin for AIM",
  167 + "installed_size": "941",
  168 + "name": "account-plugin-aim",
  169 + "url": "http://wiki.gnome.org/Empathy",
  170 + "version": "3.8.6-0ubuntu9"
  171 + },
  172 + "account-plugin-facebook": {
  173 + "description": "GNOME Control Center account plugin for single signon - facebook",
  174 + "installed_size": "65",
  175 + "name": "account-plugin-facebook",
  176 + "url": "https://launchpad.net/account-plugins",
  177 + "version": "0.11+14.04.20140409.1-0ubuntu1"
  178 + },
  179 + "account-plugin-flickr": {
  180 + "description": "GNOME Control Center account plugin for single signon - flickr",
  181 + "installed_size": "64",
  182 + "name": "account-plugin-flickr",
  183 + "url": "https://launchpad.net/account-plugins",
  184 + "version": "0.11+14.04.20140409.1-0ubuntu1"
  185 + },
  186 + "account-plugin-google": {
  187 + "description": "GNOME Control Center account plugin for single signon",
  188 + "installed_size": "66",
  189 + "name": "account-plugin-google",
  190 + "url": "https://launchpad.net/account-plugins",
  191 + "version": "0.11+14.04.20140409.1-0ubuntu1"
  192 + },
  193 + "account-plugin-jabber": {
  194 + "description": "Messaging account plugin for Jabber/XMPP",
  195 + "installed_size": "941",
  196 + "name": "account-plugin-jabber",
  197 + "url": "http://wiki.gnome.org/Empathy",
  198 + "version": "3.8.6-0ubuntu9"
  199 + },
  200 + "account-plugin-salut": {
  201 + "description": "Messaging account plugin for Local XMPP (Salut)",
  202 + "installed_size": "941",
  203 + "name": "account-plugin-salut",
  204 + "url": "http://wiki.gnome.org/Empathy",
  205 + "version": "3.8.6-0ubuntu9"
  206 + },
  207 + "account-plugin-twitter": {
  208 + "description": "GNOME Control Center account plugin for single signon - twitter",
  209 + "installed_size": "63",
  210 + "name": "account-plugin-twitter",
  211 + "url": "https://launchpad.net/account-plugins",
  212 + "version": "0.11+14.04.20140409.1-0ubuntu1"
  213 + }
  214 + }
  215 + }';
30 216 }
31 217  
32 218 /**
... ... @@ -154,35 +340,7 @@ class NeoControllerTest extends BaseTestCase
154 340 'CONTENT_TYPE' => 'application/json',
155 341 //'HTTPS' => true
156 342 ),
157   - '{
158   - "computador": {
159   - "networkDevices": [
160   - {
161   - "ipv4": "10.1.0.56",
162   - "ipv6": "fe80::295b:a8db:d433:ebe%4",
163   - "mac": "9C:D2:1E:EA:E0:89",
164   - "netmask_ipv4": "255.255.255.0",
165   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
166   - "nome": "Wi-Fi"
167   - },
168   - {
169   - "ipv4": "192.168.56.1",
170   - "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
171   - "mac": "08:00:27:00:14:2B",
172   - "netmask_ipv4": "255.255.255.0",
173   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
174   - "nome": "VirtualBox Host-Only Network"
175   - }
176   - ],
177   - "operatingSystem": {
178   - "idOs": 176,
179   - "nomeOs": "Windows_NT"
180   - },
181   - "usuario": "Eric Menezes",
182   - "nmComputador": "Notebook-XPTO",
183   - "versaoAgente": "2.8.0"
184   - }
185   - }'
  343 + $this->computador
186 344 );
187 345 $logger->debug("Dados JSON do computador enviados \n".$this->client->getRequest()->getcontent());
188 346  
... ... @@ -208,35 +366,7 @@ class NeoControllerTest extends BaseTestCase
208 366 'CONTENT_TYPE' => 'application/json',
209 367 //'HTTPS' => true
210 368 ),
211   - '{
212   - "computador": {
213   - "networkDevices": [
214   - {
215   - "ipv4": "10.1.0.56",
216   - "ipv6": "fe80::295b:a8db:d433:ebe%4",
217   - "mac": "9C:D2:1E:EA:E0:89",
218   - "netmask_ipv4": "255.255.255.0",
219   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
220   - "nome": "Wi-Fi"
221   - },
222   - {
223   - "ipv4": "192.168.56.1",
224   - "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
225   - "mac": "08:00:27:00:14:2B",
226   - "netmask_ipv4": "255.255.255.0",
227   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
228   - "nome": "VirtualBox Host-Only Network"
229   - }
230   - ],
231   - "operatingSystem": {
232   - "idOs": 176,
233   - "nomeOs": "Windows_NT"
234   - },
235   - "usuario": "Eric Menezes",
236   - "nmComputador": "Notebook-XPTO",
237   - "versaoAgente": "2.8.0"
238   - }
239   - }'
  369 + $this->computador
240 370 );
241 371 $logger->debug("Dados JSON do computador enviados \n".$this->client->getRequest()->getcontent());
242 372  
... ... @@ -263,33 +393,7 @@ class NeoControllerTest extends BaseTestCase
263 393 'CONTENT_TYPE' => 'application/json',
264 394 //'HTTPS' => true
265 395 ),
266   - '{
267   - "computador": {
268   - "networkDevices": [
269   - {
270   - "ipv4": "10.1.0.56",
271   - "ipv6": "fe80::295b:a8db:d433:ebe%4",
272   - "netmask_ipv4": "255.255.255.0",
273   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
274   - "nome": "Wi-Fi"
275   - },
276   - {
277   - "ipv4": "192.168.56.1",
278   - "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
279   - "netmask_ipv4": "255.255.255.0",
280   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
281   - "nome": "VirtualBox Host-Only Network"
282   - }
283   - ],
284   - "operatingSystem": {
285   - "idOs": 176,
286   - "nomeOs": "Windows_NT"
287   - },
288   - "usuario": "Eric Menezes",
289   - "nmComputador": "Notebook-XPTO",
290   - "versaoAgente": "2.8.0"
291   - }
292   - }'
  396 + $this->sem_mac
293 397 );
294 398 $logger->debug("Dados JSON do computador enviados sem MAC para o getUpdate \n".$this->client->getRequest()->getcontent());
295 399  
... ... @@ -317,35 +421,7 @@ class NeoControllerTest extends BaseTestCase
317 421 'CONTENT_TYPE' => 'application/json',
318 422 //'HTTPS' => true
319 423 ),
320   - '{
321   - "computador": {
322   - "networkDevices": [
323   - {
324   - "ipv4": "10.1.0.56",
325   - "ipv6": "fe80::295b:a8db:d433:ebe%4",
326   - "mac": "9C:D2:1E:EA:E0:89",
327   - "netmask_ipv4": "255.255.255.0",
328   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
329   - "nome": "Wi-Fi"
330   - },
331   - {
332   - "ipv4": "192.168.56.1",
333   - "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
334   - "mac": "08:00:27:00:14:2B",
335   - "netmask_ipv4": "255.255.255.0",
336   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
337   - "nome": "VirtualBox Host-Only Network"
338   - }
339   - ],
340   - "operatingSystem": {
341   - "idOs": 176,
342   - "nomeOs": "Windows_NT"
343   - },
344   - "usuario": "Eric Menezes",
345   - "nmComputador": "Notebook-XPTO",
346   - "versaoAgente": "2.8.0"
347   - }
348   - }'
  424 + $this->computador
349 425 );
350 426 $logger->debug("Dados JSON do computador enviados antes do getUpdate \n".$this->client->getRequest()->getcontent());
351 427  
... ... @@ -365,33 +441,7 @@ class NeoControllerTest extends BaseTestCase
365 441 'CONTENT_TYPE' => 'application/json',
366 442 //'HTTPS' => true
367 443 ),
368   - '{
369   - "computador": {
370   - "networkDevices": [
371   - {
372   - "ipv4": "10.1.0.56",
373   - "ipv6": "fe80::295b:a8db:d433:ebe%4",
374   - "netmask_ipv4": "255.255.255.0",
375   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
376   - "nome": "Wi-Fi"
377   - },
378   - {
379   - "ipv4": "192.168.56.1",
380   - "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
381   - "netmask_ipv4": "255.255.255.0",
382   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
383   - "nome": "VirtualBox Host-Only Network"
384   - }
385   - ],
386   - "operatingSystem": {
387   - "idOs": 176,
388   - "nomeOs": "Windows_NT"
389   - },
390   - "usuario": "Eric Menezes",
391   - "nmComputador": "Notebook-XPTO",
392   - "versaoAgente": "2.8.0"
393   - }
394   - }'
  444 + $this->sem_mac
395 445 );
396 446 $logger->debug("Dados JSON do computador enviados sem MAC para o getUpdate \n".$this->client->getRequest()->getcontent());
397 447  
... ... @@ -418,135 +468,7 @@ class NeoControllerTest extends BaseTestCase
418 468 'CONTENT_TYPE' => 'application/json',
419 469 //'HTTPS' => true
420 470 ),
421   - '{
422   - "computador": {
423   - "networkDevices": [
424   - {
425   - "ipv4": "10.1.0.56",
426   - "ipv6": "fe80::295b:a8db:d433:ebe%4",
427   - "mac": "9C:D2:1E:EA:E0:89",
428   - "netmask_ipv4": "255.255.255.0",
429   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
430   - "nome": "Wi-Fi"
431   - },
432   - {
433   - "ipv4": "192.168.56.1",
434   - "ipv6": "fe80::19f2:4739:8a9e:45e4%16",
435   - "mac": "08:00:27:00:14:2B",
436   - "netmask_ipv4": "255.255.255.0",
437   - "netmask_ipv6": "ffff:ffff:ffff:ffff::",
438   - "nome": "VirtualBox Host-Only Network"
439   - }
440   - ],
441   - "operatingSystem": {
442   - "idOs": 176,
443   - "nomeOs": "Windows_NT"
444   - },
445   - "usuario": "Eric Menezes",
446   - "nmComputador": "Notebook-XPTO",
447   - "versaoAgente": "2.8.0"
448   - },
449   - "hardware": {
450   - "bios": {
451   - "releaseDate": "11/12/2013",
452   - "romSize": "4096 kB",
453   - "runtimeSize": "128 kB",
454   - "vendor": "Dell Inc.",
455   - "version": "A07"
456   - },
457   - "cpu": {
458   - "clock": "768000000 Hz",
459   - "name": "Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz",
460   - "vendor": "Intel Corp."
461   - },
462   - "ethernet_card": {
463   - "capacity": "100000000 bits/s",
464   - "description": "Ethernet interface",
465   - "logicalname": "eth0",
466   - "product": "RTL8101E/RTL8102E PCI Express Fast Ethernet controller",
467   - "serial": "78:2b:cb:eb:36:24",
468   - "vendor": "Realtek Semiconductor Co., Ltd."
469   - },
470   - "isNotebook": {
471   - "value": "true"
472   - },
473   - "memory": {
474   - "size": "8589934592 bytes"
475   - },
476   - "motherboard": {
477   - "assetTag": "Not Specified",
478   - "manufacturer": "Dell Inc.",
479   - "onboardCapabilities": [
480   - "Video"
481   - ],
482   - "productName": "0YK7DY",
483   - "serialNumber": ".CSQKLZ1.BR1081943R0013.",
484   - "version": "A00"
485   - },
486   - "wireless_card": {
487   - "description": "Wireless interface",
488   - "firmware": "N/A",
489   - "logicalname": "wlan0",
490   - "product": "QCA9565 / AR9565 Wireless Network Adapter",
491   - "serial": "9c:d2:1e:ea:e0:89",
492   - "vendor": "Qualcomm Atheros"
493   - }
494   - },
495   - "software": {
496   - "": {
497   - "name": ""
498   - },
499   - "account-plugin-aim": {
500   - "description": "Messaging account plugin for AIM",
501   - "installed_size": "941",
502   - "name": "account-plugin-aim",
503   - "url": "http://wiki.gnome.org/Empathy",
504   - "version": "3.8.6-0ubuntu9"
505   - },
506   - "account-plugin-facebook": {
507   - "description": "GNOME Control Center account plugin for single signon - facebook",
508   - "installed_size": "65",
509   - "name": "account-plugin-facebook",
510   - "url": "https://launchpad.net/account-plugins",
511   - "version": "0.11+14.04.20140409.1-0ubuntu1"
512   - },
513   - "account-plugin-flickr": {
514   - "description": "GNOME Control Center account plugin for single signon - flickr",
515   - "installed_size": "64",
516   - "name": "account-plugin-flickr",
517   - "url": "https://launchpad.net/account-plugins",
518   - "version": "0.11+14.04.20140409.1-0ubuntu1"
519   - },
520   - "account-plugin-google": {
521   - "description": "GNOME Control Center account plugin for single signon",
522   - "installed_size": "66",
523   - "name": "account-plugin-google",
524   - "url": "https://launchpad.net/account-plugins",
525   - "version": "0.11+14.04.20140409.1-0ubuntu1"
526   - },
527   - "account-plugin-jabber": {
528   - "description": "Messaging account plugin for Jabber/XMPP",
529   - "installed_size": "941",
530   - "name": "account-plugin-jabber",
531   - "url": "http://wiki.gnome.org/Empathy",
532   - "version": "3.8.6-0ubuntu9"
533   - },
534   - "account-plugin-salut": {
535   - "description": "Messaging account plugin for Local XMPP (Salut)",
536   - "installed_size": "941",
537   - "name": "account-plugin-salut",
538   - "url": "http://wiki.gnome.org/Empathy",
539   - "version": "3.8.6-0ubuntu9"
540   - },
541   - "account-plugin-twitter": {
542   - "description": "GNOME Control Center account plugin for single signon - twitter",
543   - "installed_size": "63",
544   - "name": "account-plugin-twitter",
545   - "url": "https://launchpad.net/account-plugins",
546   - "version": "0.11+14.04.20140409.1-0ubuntu1"
547   - }
548   - }
549   - }'
  471 + $this->coleta
550 472 );
551 473 $logger->debug("Dados JSON do computador enviados para a coleta: \n".$this->client->getRequest()->getcontent());
552 474  
... ...