public function load(ObjectManager $manager)
 {
     $grupoAdmin = new GrupoUsuario();
     $grupoAdmin->setNmGrupoUsuarios('Admin');
     $grupoAdmin->setTeGrupoUsuarios('Administradores');
     $grupoAdmin->setTeMenuGrupo('menu_adm.txt');
     $grupoAdmin->setTeDescricaoGrupo('Acesso irrestrito');
     $grupoAdmin->setCsNivelAdministracao(true);
     $grupoAdmin->setRole('ROLE_ADMIN');
     // Adiciona referência ao Grupo que será usada depois
     $this->addReference('grupo-admin', $grupoAdmin);
     $manager->persist($grupoAdmin);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('comum');
     $grupo->setTeGrupoUsuarios('Comum');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Usuário limitado, sem acesso a informações confidenciais como Softwares Inventariados e Opções Administrativas como Forçar Coletas e Excluir Computadores. Poderá alterar sua própria senha.');
     $grupo->setCsNivelAdministracao(2);
     $grupo->setRole('ROLE_USER');
     $manager->persist($grupo);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('gestao');
     $grupo->setTeGrupoUsuarios('Gestão Central');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Acesso de leitura em todas as opções.');
     $grupo->setCsNivelAdministracao(3);
     $grupo->setRole('ROLE_GESTAO');
     $manager->persist($grupo);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('supervisao');
     $grupo->setTeGrupoUsuarios('Supervisão');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Manutenção de tabelas e acesso a todas as informações referentes à Localização.');
     $grupo->setCsNivelAdministracao(4);
     $grupo->setRole('ROLE_SUPERVISAO');
     $manager->persist($grupo);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('tecnico');
     $grupo->setTeGrupoUsuarios('Técnico');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Acesso técnico. Será permitido acessar configurações de rede e relatórios de Patrimônio e Hardware.');
     $grupo->setCsNivelAdministracao(5);
     $grupo->setRole('ROLE_TECNICO');
     $manager->flush();
 }
 public function load(ObjectManager $manager)
 {
     $grupoAdmin = new GrupoUsuario();
     $grupoAdmin->setNmGrupoUsuarios('Admin');
     $grupoAdmin->setTeGrupoUsuarios('Administradores');
     $grupoAdmin->setTeMenuGrupo('menu_adm.txt');
     $grupoAdmin->setTeDescricaoGrupo('Acesso ao menu de administração');
     $grupoAdmin->setCsNivelAdministracao(true);
     $grupoAdmin->setRole('ROLE_ADMIN');
     // Adiciona referência ao Grupo que será usada depois
     $this->addReference('grupo-admin', $grupoAdmin);
     $manager->persist($grupoAdmin);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('comum');
     $grupo->setTeGrupoUsuarios('Comum');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Acesso de leitura em todas as opções.');
     $grupo->setCsNivelAdministracao(2);
     $grupo->setRole('ROLE_USER');
     $manager->persist($grupo);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('gestao');
     $grupo->setTeGrupoUsuarios('Gestão Central');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Acesso ao menu de Manutenção.');
     $grupo->setCsNivelAdministracao(3);
     $grupo->setRole('ROLE_GESTAO');
     $manager->persist($grupo);
     // Grupo para desenvolvedores
     $grupoDev = new GrupoUsuario();
     $grupoDev->setNmGrupoUsuarios('devel');
     $grupoDev->setTeGrupoUsuarios('Desenvolvedores');
     $grupoDev->setTeMenuGrupo('menu_adm.txt');
     $grupoDev->setTeDescricaoGrupo('Acesso às telas de log do sistema.');
     $grupoDev->setCsNivelAdministracao(true);
     $grupoDev->setRole('ROLE_DEVEL');
     // Adiciona referência ao Grupo que será usada depois
     $this->addReference('grupo-devel', $grupoDev);
     $manager->persist($grupoDev);
     $manager->flush();
 }
 public function up(Schema $schema)
 {
     // this up() migration is auto-generated, please modify it to your needs
     $logger = $this->container->get('logger');
     $em = $this->container->get('doctrine.orm.entity_manager');
     $grupoAdmin = $em->getRepository('CacicCommonBundle:GrupoUsuario')->findOneBy(array('nmGrupoUsuarios' => 'Admin'));
     if (empty($grupoAdmin)) {
         // Cria pelo menos um grupo de administradores
         $grupoAdmin = new GrupoUsuario();
         $grupoAdmin->setNmGrupoUsuarios('Admin');
         $grupoAdmin->setTeGrupoUsuarios('Administradores');
         $grupoAdmin->setTeMenuGrupo('menu_adm.txt');
         $grupoAdmin->setTeDescricaoGrupo('Acesso ao menu de administração');
         $grupoAdmin->setCsNivelAdministracao(true);
         $grupoAdmin->setRole('ROLE_ADMIN');
         $em->persist($grupoAdmin);
     }
     // A melhor solução é adicionar todos os usuários no Grupo de Administradores
     $usuario_list = $em->getRepository('CacicCommonBundle:Usuario')->findAll();
     foreach ($usuario_list as $usuario) {
         $usuario->setIdGrupoUsuario($grupoAdmin);
         $em->persist($usuario);
     }
     $grupo = $em->getRepository('CacicCommonBundle:GrupoUsuario')->findOneBy(array('role' => 'ROLE_USER'));
     if (empty($grupo)) {
         // Cria os outros grupos padrão do Cacic
         $grupo = new GrupoUsuario();
         $grupo->setNmGrupoUsuarios('comum');
         $grupo->setTeGrupoUsuarios('Comum');
         $grupo->setTeMenuGrupo('menu_adm.txt');
         $grupo->setTeDescricaoGrupo('Acesso de leitura em todas as opções.');
         $grupo->setCsNivelAdministracao(2);
         $grupo->setRole('ROLE_USER');
         $em->persist($grupo);
     }
     $grupo = $em->getRepository('CacicCommonBundle:GrupoUsuario')->findOneBy(array('role' => 'ROLE_GESTAO'));
     if (empty($grupo)) {
         // Cria os outros grupos padrão do Cacic
         $grupo = new GrupoUsuario();
         $grupo->setNmGrupoUsuarios('gestao');
         $grupo->setTeGrupoUsuarios('Gestão Central');
         $grupo->setTeMenuGrupo('menu_adm.txt');
         $grupo->setTeDescricaoGrupo('Acesso ao menu de Manutenção.');
         $grupo->setCsNivelAdministracao(3);
         $grupo->setRole('ROLE_GESTAO');
         $em->persist($grupo);
     }
     $grupoDev = $em->getRepository('CacicCommonBundle:GrupoUsuario')->findOneBy(array('role' => 'ROLE_DEVEL'));
     if (empty($grupoDev)) {
         // Grupo para desenvolvedores
         $grupoDev = new GrupoUsuario();
         $grupoDev->setNmGrupoUsuarios('devel');
         $grupoDev->setTeGrupoUsuarios('Desenvolvedores');
         $grupoDev->setTeMenuGrupo('menu_adm.txt');
         $grupoDev->setTeDescricaoGrupo('Acesso às telas de log do sistema.');
         $grupoDev->setCsNivelAdministracao(true);
         $grupoDev->setRole('ROLE_DEVEL');
         $em->persist($grupoDev);
     }
     // Grava tudo
     $em->flush();
 }
 public function up(Schema $schema)
 {
     // this up() migration is auto-generated, please modify it to your needs
     $logger = $this->container->get('logger');
     $em = $this->container->get('doctrine.orm.entity_manager');
     // Pega grupos gestão e supervisão
     $grupo_user = $em->getRepository("CacicCommonBundle:GrupoUsuario")->findOneBy(array('role' => 'ROLE_USER'));
     if (empty($grupo_user)) {
         $logger->debug("Criando grupo ROLE_USER");
         $grupo_user = new GrupoUsuario();
         $grupo_user->setNmGrupoUsuarios('comum');
         $grupo_user->setTeGrupoUsuarios('Comum');
         $grupo_user->setTeMenuGrupo('menu_adm.txt');
         $grupo_user->setTeDescricaoGrupo('Acesso de leitura em todas as opções.');
         $grupo_user->setCsNivelAdministracao(2);
         $grupo_user->setRole('ROLE_USER');
         $em->persist($grupo_user);
     }
     $grupo_gestao = $em->getRepository("CacicCommonBundle:GrupoUsuario")->findOneBy(array('role' => 'ROLE_GESTAO'));
     if (empty($grupo_gestao)) {
         $logger->debug("Criando grupo ROLE_GESTAO");
         $grupo_gestao = new GrupoUsuario();
         $grupo_gestao->setNmGrupoUsuarios('gestao');
         $grupo_gestao->setTeGrupoUsuarios('Gestão Central');
         $grupo_gestao->setTeMenuGrupo('menu_adm.txt');
         $grupo_gestao->setTeDescricaoGrupo('Acesso ao menu de Manutenção.');
         $grupo_gestao->setCsNivelAdministracao(3);
         $grupo_gestao->setRole('ROLE_GESTAO');
         $em->persist($grupo_gestao);
     }
     // 1 - Todos os técnicos vão virar usuários comuns
     $grupo = $em->getRepository("CacicCommonBundle:GrupoUsuario")->findOneBy(array('role' => 'ROLE_TECNICO'));
     if (!empty($grupo)) {
         $user_list = $em->getRepository("CacicCommonBundle:Usuario")->findBy(array('idGrupoUsuario' => $grupo->getIdGrupoUsuario()));
         foreach ($user_list as $user) {
             $logger->debug("Atualizando papel de ROLE_TECNICO para ROLE_USER para o usuário: " . $user->getnmUsuarioAcesso());
             $user->setIdGrupoUsuario($grupo_user);
             $em->persist($user);
         }
         $logger->debug("Removendo grupo ROLE_TECNICO");
         $em->remove($grupo);
     }
     // 2 - Todos os usuários supervisão vão virar gestão
     $grupo = $em->getRepository("CacicCommonBundle:GrupoUsuario")->findOneBy(array('role' => 'ROLE_SUPERVISAO'));
     if (!empty($grupo)) {
         $user_list = $em->getRepository("CacicCommonBundle:Usuario")->findBy(array('idGrupoUsuario' => $grupo->getIdGrupoUsuario()));
         foreach ($user_list as $user) {
             $logger->debug("Atualizando papel de ROLE_SUPERVISAO para ROLE_GESTAO para o usuário: " . $user->getnmUsuarioAcesso());
             $user->setIdGrupoUsuario($grupo_gestao);
             $em->persist($user);
         }
         $logger->debug("Removendo grupo ROLE_SUPERVISAO");
         $em->remove($grupo);
     }
     // 3 - Criar novo grupo para desenvolvedores
     $grupoDev = $em->getRepository('CacicCommonBundle:GrupoUsuario')->findOneBy(array('role' => 'ROLE_DEVEL'));
     if (empty($grupoDev)) {
         // Grupo para desenvolvedores
         $grupoDev = new GrupoUsuario();
         $grupoDev->setNmGrupoUsuarios('devel');
         $grupoDev->setTeGrupoUsuarios('Desenvolvedores');
         $grupoDev->setTeMenuGrupo('menu_adm.txt');
         $grupoDev->setTeDescricaoGrupo('Acesso às telas de log do sistema.');
         $grupoDev->setCsNivelAdministracao(true);
         $grupoDev->setRole('ROLE_DEVEL');
         $logger->debug("Criando grupo para desenvolvedores com ROLE_DEVEL");
         $em->persist($grupoDev);
     }
     $em->flush();
 }
 public function up(Schema $schema)
 {
     // this up() migration is auto-generated, please modify it to your needs
     $logger = $this->container->get('logger');
     $em = $this->container->get('doctrine.orm.entity_manager');
     $grupoAdmin = $em->getRepository('CacicCommonBundle:GrupoUsuario')->findOneBy(array('nmGrupoUsuarios' => 'Admin'));
     if (empty($grupoAdmin)) {
         // Cria pelo menos um grupo de administradores
         $grupoAdmin = new GrupoUsuario();
         $grupoAdmin->setNmGrupoUsuarios('Admin');
         $grupoAdmin->setTeGrupoUsuarios('Administradores');
         $grupoAdmin->setTeMenuGrupo('menu_adm.txt');
         $grupoAdmin->setTeDescricaoGrupo('Acesso irrestrito');
         $grupoAdmin->setRole('ROLE_ADMIN');
         $grupoAdmin->setCsNivelAdministracao(true);
         $em->persist($grupoAdmin);
     }
     // A melhor solução é adicionar todos os usuários no Grupo de Administradores
     $usuario_list = $em->getRepository('CacicCommonBundle:Usuario')->findAll();
     foreach ($usuario_list as $usuario) {
         $usuario->setIdGrupoUsuario($grupoAdmin);
         $em->persist($usuario);
     }
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('comum');
     $grupo->setTeGrupoUsuarios('Comum');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Usuário limitado, sem acesso a informações confidenciais como Softwares Inventariados e Opções Administrativas como Forçar Coletas e Excluir Computadores. Poderá alterar sua própria senha.');
     $grupo->setCsNivelAdministracao(2);
     $grupo->setRole('ROLE_USER');
     $em->persist($grupo);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('gestao');
     $grupo->setTeGrupoUsuarios('Gestão Central');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Acesso de leitura em todas as opções.');
     $grupo->setCsNivelAdministracao(3);
     $grupo->setRole('ROLE_GESTAO');
     $em->persist($grupo);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('supervisao');
     $grupo->setTeGrupoUsuarios('Supervisão');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Manutenção de tabelas e acesso a todas as informações referentes à Localização.');
     $grupo->setCsNivelAdministracao(4);
     $grupo->setRole('ROLE_SUPERVISAO');
     $em->persist($grupo);
     // Cria os outros grupos padrão do Cacic
     $grupo = new GrupoUsuario();
     $grupo->setNmGrupoUsuarios('tecnico');
     $grupo->setTeGrupoUsuarios('Técnico');
     $grupo->setTeMenuGrupo('menu_adm.txt');
     $grupo->setTeDescricaoGrupo('Acesso técnico. Será permitido acessar configurações de rede e relatórios de Patrimônio e Hardware.');
     $grupo->setCsNivelAdministracao(5);
     $grupo->setRole('ROLE_TECNICO');
     $em->persist($grupo);
     // Grava tudo
     $em->flush();
 }