/** * Retorna contribuinte pela inscrição municipal * * @param $iInscricaoMunicipal * @return Contribuinte_Model_Contribuinte|null|object */ public static function getByInscricaoMunicipal($iInscricaoMunicipal) { $oContribuinteWebService = NULL; if ($iInscricaoMunicipal != NULL) { $oContribuinteWebService = self::getDadosContribuinteEcidade($iInscricaoMunicipal); $iUsuarioLogadoSessao = Zend_Auth::getInstance()->getIdentity(); $iUsuarioLogado = Administrativo_Model_Usuario::getById($iUsuarioLogadoSessao['id']); $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getByUsuarioContribuinte($iUsuarioLogado, $iInscricaoMunicipal); // verifica se tá cadastrado e se tem contribuinte vinculado no nota. if (empty($oUsuarioContribuinte) || is_array($oUsuarioContribuinte) && count($oUsuarioContribuinte) == 1) { $oContribuinte = self::preencherInstanciaContribuinte($oContribuinteWebService); // caso não exista ela não está cadastrado no nota então ele não tem id ainda if (!empty($oUsuarioContribuinte)) { $oContribuinte->setIdUsuarioContribuinte($oUsuarioContribuinte[0]->getId()); } return $oContribuinte; } } return NULL; }
/** * Retorna todas as ações do usuário para um contribuinte * * @param integer $contribuinte IM do contribuinte * @param string $modulo Filtro por módulo * @return Array */ public function getAcoes($contribuinte = null, $modulo = null) { $a = array(); foreach ($this->entity->getAcoes() as $acao) { $acao = new Administrativo_Model_Acao($acao); if ($modulo === null || strtolower($acao->getControle()->getModulo()->getNome()) === $modulo) { $a[] = $acao; } } // Se for diferente de "contador" pega as permissoes dos usuarios clientes if ($this->entity->getTipo() != 2) { $usuario_contribuinte = Administrativo_Model_UsuarioContribuinte::getByUsuarioContribuinte($this, $contribuinte); foreach ($usuario_contribuinte as $uc) { $a = array_merge($a, $uc->getAcoes($modulo)); } } return $a; }