Exemplo n.º 1
0
 private function checkUserConfig(Context $context, UsuarioSessao $usuario)
 {
     $service = new UsuarioService($this->em());
     $numeroLocalMeta = $service->meta($usuario->getWrapped(), 'atendimento.local');
     $numero = $numeroLocalMeta ? (int) $numeroLocalMeta->getValue() : $usuario->getLocal();
     $tipoAtendimentoMeta = $service->meta($usuario->getWrapped(), 'atendimento.tipo');
     $tipoAtendimento = $tipoAtendimentoMeta ? (int) $tipoAtendimentoMeta->getValue() : $usuario->getTipoAtendimento();
     if ($numero != $usuario->getLocal()) {
         $usuario->setLocal($numero);
     }
     if ($tipoAtendimento != $usuario->getTipoAtendimento()) {
         $usuario->setTipoAtendimento($tipoAtendimento);
     }
     $context->setUser($usuario);
 }
Exemplo n.º 2
0
 public function unidades(Context $context, UsuarioSessao $usuario)
 {
     if (!empty($this->unidades)) {
         return $this->unidades;
     }
     $em = $context->database()->createEntityManager();
     $query = $em->createQuery("\n            SELECT \n                e\n            FROM \n                Novosga\\Model\\Unidade e\n                INNER JOIN e.grupo g\n            WHERE \n                e.status = 1 AND\n                g.left >= :esquerda AND\n                g.right <= :direita\n            ORDER BY\n                e.nome\n        ");
     $lotacoes = $usuario->getWrapped()->getLotacoes();
     if (!empty($lotacoes)) {
         foreach ($lotacoes as $lotacao) {
             $query->setParameter('esquerda', $lotacao->getGrupo()->getLeft());
             $query->setParameter('direita', $lotacao->getGrupo()->getRight());
             $this->unidades = array_merge($this->unidades, $query->getResult());
         }
     }
     return $this->unidades;
 }