/**
  * La as notificacoes referentes a requisicao de RPS
  * @param Administrativo_Model_Usuario $usuario
  */
 public static function getNotificacoesRequisicaoRps($usuario)
 {
     $requisicoes = Administrativo_Model_Aidof::getRequisicoesPendentes(null, 'r');
     return self::arrayToNotificacao($usuario, $requisicoes, 'REQUISICAO RPS');
 }
 public function rpsAction()
 {
     $im = $this->getRequest()->getParam('im');
     $req = $this->getRequest()->getParam('req');
     $requisicao = null;
     $config = Administrativo_Model_Prefeitura::getDadosPrefeituraBase();
     $sControleAidof = $config->getControleAidof();
     $contribuinte = Administrativo_Model_Contribuinte::getByIm($im);
     $this->view->sControleAidof = $sControleAidof;
     if ($req !== null) {
         $requisicao = Administrativo_Model_Aidof::getById($req);
         $im = $requisicao->getIm();
         $this->view->liberacaoForm = $this->liberacaoRpsForm($requisicao->getContribuinte(), $requisicao, $sControleAidof);
     }
     if ($contribuinte != null || !empty($contribuinte)) {
         $this->view->contribuinte_nome = $contribuinte[0]->attr('nome');
         $liberacaoForm = $this->liberacaoRpsForm($contribuinte, $requisicao, $sControleAidof);
         if ($this->getRequest()->isPost()) {
             if ($liberacaoForm->isValid($_POST)) {
                 $dados = $this->getRequest()->getPost();
                 if (isset($dados['nota_limite']) && $dados['nota_limite'] != null && (isset($dados['data_limite']) && $dados['data_limite'] != null)) {
                     $this->view->messages[] = array('error' => 'Informe apenas um dos campos. Ou limite por rps, ou limite por data.');
                 } else {
                     $liberacao = Administrativo_Model_Aidof::getById($req);
                     if ($liberacao->getDataLiberacao() == null) {
                         $liberacao->setDataLiberacao(new Datetime());
                         $dados['situacao'] = 'l';
                         if ($sControleAidof == 'data') {
                             $auxData = str_replace('/', '-', $this->_getParam('data_liberada'));
                             $auxData = new DateTime($auxData);
                             $auxData->format('Y-m-d H:i:s');
                             $dados['data_liberada'] = $auxData;
                         }
                         $liberacao->persist($dados);
                         $this->view->messages[] = array('success' => 'Liberação cadastrada com sucesso.');
                     } else {
                         $this->_redirector->gotoSimple('rps', 'liberacao', 'administrativo');
                     }
                 }
             }
         }
         $this->view->historico = Administrativo_Model_Aidof::getRequisicoes($im, 'r');
     }
     $this->view->requisicoes = Administrativo_Model_Aidof::getRequisicoesPendentes(null, 'r');
 }