protected function _testAdicionaParecerNoBoletimVerificaValidadores(Avaliacao_Model_ParecerDescritivoAbstract $parecer)
 {
     $this->assertEquals(1, $parecer->etapa);
     $this->assertEquals('N/D.', $parecer->parecer);
     $validators = $parecer->getValidatorCollection();
     $this->assertEquals($this->_getEtapasPossiveisParecer(), $validators['etapa']->getOption('choices'));
     $this->assertFalse(isset($validators['componenteCurricular']));
 }
示例#2
0
 /**
  * Atualiza a etapa de uma instância de Avaliacao_Model_ParecerDescritivoAbstract
  * para a última etapa possível.
  *
  * @param Avaliacao_Model_ParecerDescritivoAbstract $instance
  * @return Avaliacao_Model_ParecerDescritivoAbstract
  */
 protected function _updateParecerEtapa(Avaliacao_Model_ParecerDescritivoAbstract $instance)
 {
     if (!is_null($instance->etapa)) {
         return $instance;
     }
     $proximaEtapa = 1;
     $anuais = array(RegraAvaliacao_Model_TipoParecerDescritivo::ANUAL_GERAL, RegraAvaliacao_Model_TipoParecerDescritivo::ANUAL_COMPONENTE);
     $etapas = array(RegraAvaliacao_Model_TipoParecerDescritivo::ETAPA_GERAL, RegraAvaliacao_Model_TipoParecerDescritivo::ETAPA_COMPONENTE);
     $componentes = array(RegraAvaliacao_Model_TipoParecerDescritivo::ANUAL_COMPONENTE, RegraAvaliacao_Model_TipoParecerDescritivo::ETAPA_COMPONENTE);
     $gerais = array(RegraAvaliacao_Model_TipoParecerDescritivo::ANUAL_GERAL, RegraAvaliacao_Model_TipoParecerDescritivo::ETAPA_GERAL);
     $parecerDescritivo = $this->getRegra()->get('parecerDescritivo');
     if (in_array($parecerDescritivo, $anuais)) {
         $instance->etapa = 'An';
         return $instance;
     } elseif (in_array($parecerDescritivo, $etapas)) {
         $attrValues = array();
         if (in_array($parecerDescritivo, $gerais)) {
             $attrValues = $this->getPareceresGerais();
         } elseif (in_array($parecerDescritivo, $componentes)) {
             $pareceresComponentes = $this->getPareceresComponentes();
             if (isset($pareceresComponentes[$instance->get('componenteCurricular')])) {
                 $attrValues = $pareceresComponentes[$instance->get('componenteCurricular')];
             }
         }
         if (0 < count($attrValues)) {
             $etapas = CoreExt_Entity::entityFilterAttr($attrValues, 'id', 'etapa');
             $proximaEtapa = max($etapas) + 1;
         }
     }
     if ($proximaEtapa <= $this->getOption('etapas')) {
         $instance->etapa = $proximaEtapa;
     } elseif ($this->hasRecuperacao()) {
         $instance->etapa = 'Rc';
     }
     return $instance;
 }
 /**
  * Construtor.
  * @param array $options
  */
 public function __construct($options = array())
 {
     $this->_data['componenteCurricular'] = NULL;
     $this->_references['componenteCurricular'] = array('value' => NULL, 'class' => 'ComponenteCurricular_Model_Componente', 'file' => 'ComponenteCurricular/Model/Componente.php');
     parent::__construct($options);
 }