From 88edaeafe84d9dc7b17861ee8df8c7201e446dba Mon Sep 17 00:00:00 2001 From: Eduardo Santos Date: Tue, 27 May 2014 17:28:49 -0300 Subject: [PATCH] Desabilita por padrão a coleta de patrimônio em todos os módulos --- src/Cacic/CommonBundle/DoctrineMigrations/Version20140527164952.php | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ src/Cacic/CommonBundle/Entity/AcaoRedeRepository.php | 28 ++++++++++++++++------------ 2 files changed, 64 insertions(+), 12 deletions(-) create mode 100644 src/Cacic/CommonBundle/DoctrineMigrations/Version20140527164952.php diff --git a/src/Cacic/CommonBundle/DoctrineMigrations/Version20140527164952.php b/src/Cacic/CommonBundle/DoctrineMigrations/Version20140527164952.php new file mode 100644 index 0000000..e6b7502 --- /dev/null +++ b/src/Cacic/CommonBundle/DoctrineMigrations/Version20140527164952.php @@ -0,0 +1,48 @@ +container = $container; + } + + public function up(Schema $schema) + { + // this up() migration is auto-generated, please modify it to your needs + $em = $this->container->get('doctrine.orm.entity_manager'); + $logger = $this->container->get('logger'); + $modulos = $em->getRepository('CacicCommonBundle:Acao')->findBy( array('csOpcional' => 'N') ); + + foreach ($modulos as $elm) { + // PEga todos os módulos que são opcionais e remove da tabela acao_rede + $acoes = $em->getRepository('CacicCommonBundle:AcaoRede')->findBy( array('acao' => $elm->getIdAcao() ) ); + + foreach ($acoes as $acao) { + $em->remove($acao); + } + } + + $em->flush(); + + } + + public function down(Schema $schema) + { + // this down() migration is auto-generated, please modify it to your needs + + } +} diff --git a/src/Cacic/CommonBundle/Entity/AcaoRedeRepository.php b/src/Cacic/CommonBundle/Entity/AcaoRedeRepository.php index 70e1320..651e5e4 100644 --- a/src/Cacic/CommonBundle/Entity/AcaoRedeRepository.php +++ b/src/Cacic/CommonBundle/Entity/AcaoRedeRepository.php @@ -84,24 +84,28 @@ class AcaoRedeRepository extends EntityRepository 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->getIdAcao() != "col_patr"){ - $new = $this->find( array( 'acao' => $novaAcao->getIdAcao(), 'rede' => $novaRede->getIdRede() )); + if ( $novaAcao->getCsOpcional() == 'S' ){ - // Se não existir, cria a ação para a rede - if ( empty($new) ) { - $new = new AcaoRede(); - } + $new = new AcaoRede(); - // Agora cria a ação - $new->setAcao($novaAcao); - $new->setRede($novaRede); - $em->persist($new); + // Agora cria a ação + $new->setAcao($novaAcao); + $new->setRede($novaRede); + $em->persist($new); - // Grava as mudanças - $em->flush(); + // Grava as mudanças + $em->flush(); } } -- libgit2 0.21.2