Commit 6c23994c4dc1d48085e6eff225c691060fb059f9
Committed by
Eduardo Santos
1 parent
59652fab
Exists in
master
Coleta de hardware e software funcional
Showing
18 changed files
with
809 additions
and
297 deletions
Show diff stats
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 | { | ... | ... |
| ... | ... | @@ -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 | +} | ... | ... |
| ... | ... | @@ -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 | +} | ... | ... |
| ... | ... | @@ -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
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 | /** | ... | ... |
| ... | ... | @@ -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"> </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"> </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"> </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"> </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"> </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"> </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"> </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 | ... | ... |