/**
  * Habilita todas as ações para a Rede fornecida ou conjunto de redes fornecidas
  *
  * @param array $redes
  *
  */
 public function atualizarPorRede($redes)
 {
     $em = $this->getEntityManager();
     $acoes = $em->getRepository('CacicCommonBundle:Acao')->findAll();
     foreach ($redes as $novaRede) {
         // Primeiro apaga todas as ações
         $acaoRede = $this->findBy(array('rede' => $novaRede));
         foreach ($acaoRede as $acao) {
             $em->remove($acao);
         }
         $em->flush();
         // Para cada rede, habilita as ações
         foreach ($acoes as $novaAcao) {
             // com excessão do módulo patrimonio, que inicialmente é desabilitado
             if ($novaAcao->getCsOpcional() == 'S' && $novaAcao->getAtivo()) {
                 $new = new AcaoRede();
                 // Agora cria a ação
                 $new->setAcao($novaAcao);
                 $new->setRede($novaRede);
                 $em->persist($new);
                 // Grava as mudanças
                 $em->flush();
             }
         }
     }
 }
Exemple #2
0
 public function load(ObjectManager $manager)
 {
     $rede = new Rede();
     $rede->setTeIpRede('0.0.0.0');
     $rede->setTeMascaraRede('255.255.255.255');
     $rede->setTeServCacic('localhost');
     $rede->setTeServUpdates('localhost');
     $rede->setNuLimiteFtp(100);
     $rede->setCsPermitirDesativarSrcacic('S');
     $rede->setIdLocal($this->getReference('local'));
     $rede->setDownloadMethod('http');
     $manager->persist($rede);
     $manager->flush();
     // Adiciona ações que devem estar habilitadas na rede por padrão
     $col_soft = $this->getReference('col_soft');
     $col_hard = $this->getReference('col_hard');
     $col_patr = $this->getReference('col_patr');
     $acao_rede = new AcaoRede();
     $acao_rede->setAcao($col_soft);
     $acao_rede->setRede($rede);
     $manager->persist($acao_rede);
     $acao_rede = new AcaoRede();
     $acao_rede->setAcao($col_hard);
     $acao_rede->setRede($rede);
     $manager->persist($acao_rede);
     $acao_rede = new AcaoRede();
     $acao_rede->setAcao($col_patr);
     $acao_rede->setRede($rede);
     $manager->persist($acao_rede);
     $manager->flush();
 }