/**
  * Salva o informativo disponibilizado no textarea
  */
 public function formSalvarAction()
 {
     parent::noLayout();
     $aParametros = $this->getRequest()->getParams();
     $oForm = new Fiscal_Form_Informativo();
     $oForm->populate($aParametros);
     /**
      * Parametros de retorno do AJAX
      */
     $aRetornoJson = array('success' => FALSE, 'message' => NULL);
     if (!$oForm->isValid($aParametros)) {
         $aRetornoJson['fields'] = array_keys($oForm->getMessages());
         $aRetornoJson['error'][] = 'Preencha os dados corretamente.';
     } else {
         try {
             // salvar
             $oInformativo = new Administrativo_Model_Informativo();
             $oInformativo->salvarDescricao($aParametros['descricao']);
             $aRetornoJson['success'] = TRUE;
             $aRetornoJson['message'] = 'Informativo salvo com sucesso!';
         } catch (Exception $oErro) {
             $aRetornoJson['error'][] = $oErro->getMessage();
         }
     }
     echo $this->getHelper('json')->sendJson($aRetornoJson);
 }
 /**
  * Metodo inicial quando o usuairo for contribuinte
  */
 public function contribuinteAction()
 {
     // Oculta breadcrumbs
     $this->view->oculta_breadcrumbs = TRUE;
     // Matar sessão quando acessado via menu
     if ($this->_getParam('alterar')) {
         $oSessao = new Zend_Session_Namespace('nfse');
         $oSessao->contribuinte = NULL;
         $this->view->contribuinte = NULL;
         $this->_session->id = NULL;
     }
     if (!isset($this->_session->iUsuarioEscolhido) && $this->usuarioLogado->getPerfil()->getId() == 5) {
         $this->_redirector->gotoSimple('listar-cadastros', 'usuario-acesso', 'fiscal');
     }
     // Verifica se a lista de contribuinte e diferente da lista vinculada ao usuario
     if ($this->view->user->getTipo() == Administrativo_Model_TipoUsuario::$CONTADOR) {
         $aContribuintes = Administrativo_Model_Empresa::getByCnpj(trim($this->view->user->getCnpj()));
         // atualiza a lista de contribuintes
         $this->view->user->atualizaListaContribuintes($aContribuintes);
     } else {
         $oContribuinte = $this->view->user->getUsuariosContribuintes();
         $oContribuinte = $oContribuinte[0];
         if ($oContribuinte->getIm()) {
             $aContribuintesInscricao = new Contribuinte_Model_Contribuinte();
             $aContribuintes[] = $aContribuintesInscricao->getDadosContribuinteEcidade($oContribuinte->getIm());
         } else {
             if ($oContribuinte->getCnpjCpf()) {
                 $oContribuinteEventual = new Contribuinte_Model_ContribuinteEventual();
                 $aContribuintes[] = $oContribuinteEventual->getByCpfCnpjWebService($oContribuinte->getCnpjCpf());
             }
         }
     }
     // atualiza o tipo de emissao e permissoes dos contribuintes
     Administrativo_Model_UsuarioContribuinte::atualizaTipoEmissao($aContribuintes);
     $aContribuintes = $this->view->user->getContribuintes();
     $this->view->contribuintes = $aContribuintes;
     //carrega informativo do fiscal
     $oInformativo = Administrativo_Model_Informativo::getByAttribute('id', 1);
     //Verifica se retorna algo da coluna informativo
     if (!empty($oInformativo)) {
         $this->view->descricao = $oInformativo->getDescricao();
     }
     if (count($this->view->contribuintes) == 1 && $this->_session->id == NULL) {
         $aContribuintes = each($this->view->contribuintes);
         $oContribuinte = $aContribuintes['value'];
         self::setContribuinte($oContribuinte);
         $this->_redirector->gotoSimple('contribuinte', 'index', 'contribuinte');
     }
     // Reseta permissões
     new DBSeller_Acl_Setup(TRUE);
 }