Commit 904c0242a046fbde04bdfa223e5612234e09af75
1 parent
a1ba0562
Exists in
master
Adicionado suporte a cursos que não tenham '''padrão de ano escolar''', forçado …
…o boletim a usar a quantidade de etapas/módulos definidas na turma ao qual o aluno está matriculado
Showing
3 changed files
with
70 additions
and
3 deletions
Show diff stats
ieducar/lib/App/Model/IedFinder.php
@@ -321,17 +321,36 @@ class App_Model_IedFinder extends CoreExt_Entity | @@ -321,17 +321,36 @@ class App_Model_IedFinder extends CoreExt_Entity | ||
321 | $ano = $ano['ano']; | 321 | $ano = $ano['ano']; |
322 | } | 322 | } |
323 | else { | 323 | else { |
324 | - throw new App_Model_Exception('Vários anos em andamento. Problemas.'); | 324 | + throw new App_Model_Exception('Existem vários anos escolares em andamento.'); |
325 | } | 325 | } |
326 | 326 | ||
327 | $anoLetivoModulo = self::addClassToStorage('clsPmieducarAnoLetivoModulo', | 327 | $anoLetivoModulo = self::addClassToStorage('clsPmieducarAnoLetivoModulo', |
328 | NULL, 'include/pmieducar/clsPmieducarAnoLetivoModulo.inc.php'); | 328 | NULL, 'include/pmieducar/clsPmieducarAnoLetivoModulo.inc.php'); |
329 | 329 | ||
330 | $modulos = $anoLetivoModulo->lista($ano, $codEscola); | 330 | $modulos = $anoLetivoModulo->lista($ano, $codEscola); |
331 | + } | ||
332 | + else { | ||
333 | + $matriculaTurma = self::addClassToStorage('clsPmieducarMatriculaTurma', | ||
334 | + NULL, 'include/pmieducar/clsPmieducarMatriculaTurma.inc.php'); | ||
335 | + | ||
336 | + $matriculas = $matriculaTurma->lista($codMatricula); | ||
331 | 337 | ||
332 | - if (FALSE === $modulos) { | ||
333 | - return 0; | 338 | + if (is_array($matriculas)) { |
339 | + $matricula = array_shift($matriculas); | ||
340 | + $codTurma = $matricula['ref_cod_turma']; | ||
341 | + } | ||
342 | + else { | ||
343 | + throw new App_Model_Exception('Aluno não enturmado.'); | ||
334 | } | 344 | } |
345 | + | ||
346 | + $turmaModulo = self::addClassToStorage('clsPmieducarTurmaModulo', | ||
347 | + NULL, 'include/pmieducar/clsPmieducarTurmaModulo.inc.php'); | ||
348 | + | ||
349 | + $modulos = $turmaModulo->lista($codTurma); | ||
350 | + } | ||
351 | + | ||
352 | + if (FALSE === $modulos) { | ||
353 | + return 0; | ||
335 | } | 354 | } |
336 | 355 | ||
337 | return count($modulos); | 356 | return count($modulos); |
ieducar/lib/App/Model/Matricula.php
ieducar/tests/unit/App/Model/IedFinderTest.php
@@ -361,4 +361,51 @@ class App_Model_IedFinderTest extends UnitBaseTest | @@ -361,4 +361,51 @@ class App_Model_IedFinderTest extends UnitBaseTest | ||
361 | 361 | ||
362 | $this->assertEquals(4, $etapas); | 362 | $this->assertEquals(4, $etapas); |
363 | } | 363 | } |
364 | + | ||
365 | + public function testEtapasDeUmCursoAnoNaoPadrao() | ||
366 | + { | ||
367 | + // Curso não padrão | ||
368 | + $returnCurso = array('cod_curso' => 1, 'carga_horaria' => 800, 'hora_falta' => (50 / 60), 'padrao_ano_escolar' => 0); | ||
369 | + | ||
370 | + $cursoMock = $this->getCleanMock('clsPmieducarCurso'); | ||
371 | + $cursoMock->expects($this->any()) | ||
372 | + ->method('detalhe') | ||
373 | + ->will($this->returnValue($returnCurso)); | ||
374 | + | ||
375 | + CoreExt_Entity::addClassToStorage('clsPmieducarCurso', $cursoMock, NULL, TRUE); | ||
376 | + | ||
377 | + // Pega informação da turma | ||
378 | + $returnMatriculaTurma = array( | ||
379 | + array('ref_cod_matricula' => 1, 'ref_cod_turma' => 1) | ||
380 | + ); | ||
381 | + | ||
382 | + $matriculaTurmaMock = $this->getCleanMock('clsPmieducarMatriculaTurma'); | ||
383 | + $matriculaTurmaMock->expects($this->at(0)) | ||
384 | + ->method('lista') | ||
385 | + ->with(1) | ||
386 | + ->will($this->returnValue($returnMatriculaTurma)); | ||
387 | + | ||
388 | + $returnTurmaModulo = array( | ||
389 | + array('ref_cod_turma' => 1, 'ref_cod_modulo' => 1, 'sequencial' => 1), | ||
390 | + array('ref_cod_turma' => 1, 'ref_cod_modulo' => 1, 'sequencial' => 2), | ||
391 | + array('ref_cod_turma' => 1, 'ref_cod_modulo' => 1, 'sequencial' => 3), | ||
392 | + array('ref_cod_turma' => 1, 'ref_cod_modulo' => 1, 'sequencial' => 4) | ||
393 | + ); | ||
394 | +new clsPmieducarTurmaModulo(); | ||
395 | + $turmaModuloMock = $this->getCleanMock('clsPmieducarTurmaModulo'); | ||
396 | + $turmaModuloMock->expects($this->at(0)) | ||
397 | + ->method('lista') | ||
398 | + ->with(1) | ||
399 | + ->will($this->returnValue($returnTurmaModulo)); | ||
400 | + | ||
401 | + App_Model_IedFinder::addClassToStorage('clsPmieducarMatriculaTurma', | ||
402 | + $matriculaTurmaMock, NULL, TRUE); | ||
403 | + | ||
404 | + App_Model_IedFinder::addClassToStorage('clsPmieducarTurmaModulo', | ||
405 | + $turmaModuloMock, NULL, TRUE); | ||
406 | + | ||
407 | + $etapas = App_Model_IedFinder::getQuantidadeDeEtapasMatricula(1); | ||
408 | + | ||
409 | + $this->assertEquals(4, $etapas); | ||
410 | + } | ||
364 | } | 411 | } |
365 | \ No newline at end of file | 412 | \ No newline at end of file |