/** * 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(); } } } }
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(); }