TurmaController.php
3.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
#error_reporting(E_ALL);
#ini_set("display_errors", 1);
/**
* i-Educar - Sistema de gestão escolar
*
* Copyright (C) 2006 Prefeitura Municipal de Itajaí
* <ctima@itajai.sc.gov.br>
*
* Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
* sob os termos da Licença Pública Geral GNU conforme publicada pela Free
* Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
* qualquer versão posterior.
*
* Este programa é distribuído na expectativa de que seja útil, porém, SEM
* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU
* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
* do GNU para mais detalhes.
*
* Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
* com este programa; se não, escreva para a Free Software Foundation, Inc., no
* endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
*
* @author Lucas D'Avila <lucasdavila@portabilis.com.br>
* @category i-Educar
* @license @@license@@
* @package Avaliacao
* @subpackage Modules
* @since Arquivo disponível desde a versão ?
* @version $Id$
*/
require_once 'lib/Portabilis/Controller/ApiCoreController.php';
require_once 'Portabilis/Business/Professor.php';
/**
* CursoController class.
*
* @author Lucas D'Avila <lucasdavila@portabilis.com.br>
* @category i-Educar
* @license @@license@@
* @package Avaliacao
* @subpackage Modules
* @since Classe disponível desde a versão 1.1.0
* @version @@package_version@@
*/
class TurmaController extends ApiCoreController
{
protected function canGetTurmas() {
return $this->validatesId('instituicao') &&
$this->validatesId('escola') &&
$this->validatesId('serie');
}
protected function turmasPorAno($escolaId, $ano) {
$anoLetivo = new clsPmieducarEscolaAnoLetivo();
$anoLetivo->ref_cod_escola = $escolaId;
$anoLetivo->ano = $ano;
$anoLetivo = $anoLetivo->detalhe();
return ($anoLetivo['turmas_por_ano'] == 1);
}
protected function getTurmas() {
if ($this->canGetTurmas()) {
$userId = $this->getSession()->id_pessoa;
$instituicaoId = $this->getRequest()->instituicao_id;
$escolaId = $this->getRequest()->escola_id;
$serieId = $this->getRequest()->serie_id;
$ano = $this->getRequest()->ano;
$isProfessor = Portabilis_Business_Professor::isProfessor($instituicaoId, $userId);
if ($isProfessor)
$turmas = Portabilis_Business_Professor::turmasAlocado($escolaId, $serieId, $userId);
else {
$sql = "select cod_turma as id, nm_turma || ' - ' || COALESCE(ano::varchar,'SEM ANO') as nome from pmieducar.turma where ref_ref_cod_escola = $1
and (ref_ref_cod_serie = $2 or ref_ref_cod_serie_mult = $2) and ativo = 1 and
visivel != 'f' order by nm_turma asc";
$turmas = $this->fetchPreparedQuery($sql, array($escolaId, $serieId));
}
// caso no ano letivo esteja definido para filtrar turmas por ano,
// somente retorna as turmas do ano letivo.
if ($ano && $this->turmasPorAno($escolaId, $ano)) {
foreach ($turmas as $index => $t) {
$turma = new clsPmieducarTurma();
$turma->cod_turma = $t['id'];
$turma = $turma->detalhe();
if ($turma['ano'] != $ano)
unset($turmas[$index]);
}
}
$options = array();
foreach ($turmas as $turma)
$options['__' . $turma['id']] = $this->toUtf8($turma['nome']);
return array('options' => $options);
}
}
public function Gerar() {
if ($this->isRequestFor('get', 'turmas'))
$this->appendResponse($this->getTurmas());
else
$this->notImplementedOperationError();
}
}