Ejemplo n.º 1
0
 /**
  * @param WeLearn_Cursos_Avaliacoes_ControleAvaliacao $controleAvaliacao
  * @return bool
  */
 public function recuperarRespostas(WeLearn_Cursos_Avaliacoes_ControleAvaliacao &$controleAvaliacao)
 {
     try {
         $ids = $this->_respostasAvaliacaoCF->get($controleAvaliacao->getId());
         $respostas = $this->_alternativasDao->recuperarTodosPorUUIDs($ids);
         $controleAvaliacao->setRespostas($respostas);
         return true;
     } catch (cassandra_NotFoundException $e) {
         return false;
     }
 }
Ejemplo n.º 2
0
 private function _virarModulo(WeLearn_Cursos_ParticipacaoCurso &$participacaoCurso, WeLearn_Cursos_Conteudo_Modulo $moduloAnterior)
 {
     $this->_participacaoCursoDao->getControleModuloDAO()->finalizar($participacaoCurso, $moduloAnterior);
     try {
         $avaliacao = $this->_avaliacaoDao->recuperar($moduloAnterior->getId());
         if ($avaliacao->getQtdQuestoesExibir() > 0) {
             try {
                 $controleAvaliacao = $this->_controleAvaliacaoDao->recuperarPorParticipacao($participacaoCurso, $avaliacao);
             } catch (cassandra_NotFoundException $e) {
                 $controleAvaliacao = new WeLearn_Cursos_Avaliacoes_ControleAvaliacao();
                 $controleAvaliacao->setParticipacaoCurso($participacaoCurso);
                 $controleAvaliacao->setAvaliacao($avaliacao);
                 $this->_controleAvaliacaoDao->salvar($controleAvaliacao);
             }
             if ($controleAvaliacao->isStatusFinalizada() && $controleAvaliacao->isSituacaoAprovado()) {
                 return $this->_retornarJSONProximoModulo($participacaoCurso, $moduloAnterior);
             } elseif ($controleAvaliacao->isStatusBloqueada()) {
                 $error = create_json_feedback_error_json('Para acessar o conteúdo do módulo seguinte, você precisa primeiro
                     ser aprovado na avaliação do módulo em que está. Por favor, refaça a
                     avaliação quando ela estiver disponível.');
                 return create_json_feedback(false, $error);
             } elseif ($controleAvaliacao->isStatusDesativada()) {
                 $error = create_json_feedback_error_json('Você foi reprovado muitas vezes na avaliação
                     deste módulo, você não poderá mais avançar no curso.');
                 return create_json_feedback(false, $error);
             } else {
                 return $this->_retornarJSONAvaliacao($participacaoCurso, $avaliacao);
             }
         } else {
             $error = create_json_feedback_error_json('Este módulo possui uma avaliação, mas ela não está ativa.
                 Você só poderá avançar no curso quando esta avaliação for ativada ou removida.
                 Contate os Gerenciadores do Curso.');
             return create_json_feedback(false, $error);
         }
     } catch (cassandra_NotFoundException $e) {
         return $this->_retornarJSONProximoModulo($participacaoCurso, $moduloAnterior);
     }
 }