Commit 7318d38858f0ac6e2f77deb6320ab233ade952e4

Authored by Lucas Schmoeller da Silva
2 parents b868e3a4 55baf87f
Exists in master

Merge pull request #72 from ieducativa/configuracao-desabilitar-rematricula-automatica

Adicionado configuração para desabilitar rematricula automatica.
ieducar/configuration/ieducar.ini
@@ -147,6 +147,10 @@ app.recaptcha.options.secure = true @@ -147,6 +147,10 @@ app.recaptcha.options.secure = true
147 app.recaptcha.options.lang = pt 147 app.recaptcha.options.lang = pt
148 app.recaptcha.options.theme = white 148 app.recaptcha.options.theme = white
149 149
  150 +; por padrao o sistema efetua a rematricula automatica de alunos ao inicializar um novo ano letivo,
  151 +; esta configuracao permite desativar este comportamento.
  152 +;app.regras_negocio.desativar_rematricula_automatica = true
  153 +
150 [development : production] 154 [development : production]
151 ; Herda configurações de banco de dados 155 ; Herda configurações de banco de dados
152 156
ieducar/intranet/educar_iniciar_ano_letivo.php
@@ -156,94 +156,23 @@ class indice extends clsCadastro @@ -156,94 +156,23 @@ class indice extends clsCadastro
156 */ 156 */
157 157
158 $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_cod_escola,$this->ano,$this->pessoa_logada,$this->pessoa_logada,1,null,null,1); 158 $obj_ano_letivo = new clsPmieducarEscolaAnoLetivo($this->ref_cod_escola,$this->ano,$this->pessoa_logada,$this->pessoa_logada,1,null,null,1);
159 - if(!$obj_ano_letivo->edita())  
160 - {  
161 - echo "<script> 159 +
  160 + if(! $obj_ano_letivo->edita()) {
  161 + die("<script>
162 alert('Erro ao finalizar o ano letivo!'); 162 alert('Erro ao finalizar o ano letivo!');
163 window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo'; 163 window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo';
164 - </script>"; 164 + </script>");
165 } 165 }
166 - else  
167 - {  
168 - // lista todos alunos desse Escola que tem a ultima matricula no ano anterior e situacao APROVADO  
169 - $obj_matricula = new clsPmieducarMatricula();  
170 - $lst_matricula = $obj_matricula->lista( null,null,$this->ref_cod_escola,null,null,null,null,1,null,null,null,null,1,$this->ano-1,null,null,1 );  
171 -  
172 - if ( is_array($lst_matricula))  
173 - {  
174 - foreach ($lst_matricula AS $key => $matricula)  
175 - {  
176 - $obj_sequencia = new clsPmieducarSequenciaSerie();  
177 - $lst_sequencia = $obj_sequencia->lista( $matricula['ref_ref_cod_serie'],null,null,null,null,null,null,null,1 );  
178 - // verifica qual eh a serie da sequencia  
179 -  
180 - if ( is_array($lst_sequencia) && (count($lst_sequencia) == 1) )  
181 - {  
182 -// echo "<pre>"; print_r($lst_sequencia);die;  
183 - $det_sequencia = array_shift($lst_sequencia);  
184 - $serie_destino = $det_sequencia["ref_serie_destino"];  
185 -  
186 -  
187 - $obj_serie = new clsPmieducarSerie( $serie_destino );  
188 - $det_serie = $obj_serie->detalhe();  
189 -  
190 - //verificar aqui se a escola possui o curso  
191 -// echo "<pre>"; print_r($matricula); die();  
192 - $obj_escola_curso = new clsPmieducarEscolaCurso($this->ref_cod_escola, $det_serie["ref_cod_curso"]);  
193 - if (is_array($obj_escola_curso->detalhe()))  
194 - {  
195 - $obj = new clsPmieducarMatricula( $matricula['cod_matricula'],null,null,null,$this->pessoa_logada,null,null,null,null,null,1,null,0 );  
196 - $editou = $obj->edita();  
197 - if( $editou )  
198 - {  
199 - $obj = new clsPmieducarMatricula( null,null,$this->ref_cod_escola,$serie_destino,null,$this->pessoa_logada,$matricula['ref_cod_aluno'],3,null,null,1,$this->ano,1,null,null,null,null,$det_serie["ref_cod_curso"] );  
200 - $cadastra = $obj->cadastra();  
201 - if( !$cadastra )  
202 - {  
203 - echo "<script>  
204 - alert('Erro ao matricular os alunos da Escola!');  
205 - window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo';  
206 - </script>";  
207 - }  
208 - }  
209 - }  
210 - }  
211 - }  
212 - }  
213 166
214 - // lista todos alunos desse Escola que tem a ultima matricula no ano anterior e situacao REPROVADO  
215 - $obj_matricula = new clsPmieducarMatricula();  
216 - $lst_matricula = $obj_matricula->lista( null,null,$this->ref_cod_escola,null,null,null,null,2,null,null,null,null,1,$this->ano-1,null,null,1 );  
217 - if ( is_array($lst_matricula) )  
218 - {  
219 -// echo "<pre>"; print_r($lst_matricula);die;  
220 - foreach ($lst_matricula AS $key => $matricula)  
221 - {  
222 - $obj_serie = new clsPmieducarSerie( $matricula['ref_ref_cod_serie'] );  
223 - $det_serie = $obj_serie->detalhe();  
224 -  
225 - $obj = new clsPmieducarMatricula( $matricula['cod_matricula'],null,null,null,$this->pessoa_logada,null,null,null,null,null,1,null,0 );  
226 - $editou1 = $obj->edita();  
227 - if( $editou1 )  
228 - {  
229 - $obj = new clsPmieducarMatricula( null,null,$this->ref_cod_escola,$matricula['ref_ref_cod_serie'],null,$this->pessoa_logada,$matricula['ref_cod_aluno'],3,null,null,1,$this->ano,1,null,null,null,null,$det_serie["ref_cod_curso"] );  
230 - $cadastra1 = $obj->cadastra();  
231 - if( !$cadastra1 )  
232 - {  
233 - echo "<script>  
234 - alert('Erro ao matricular os alunos da Escola!');  
235 - window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo';  
236 - </script>";  
237 - }  
238 - }  
239 - }  
240 - }  
241 -  
242 - echo "<script>  
243 - alert('Ano letivo inicializado com sucesso!');  
244 - window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo';  
245 - </script>"; 167 + if (! $GLOBALS['coreExt']['Config']->app->regras_negocio->desativar_rematricula_automatica) {
  168 + $this->rematricularAlunosAprovados();
  169 + $this->rematricularAlunosReprovados();
246 } 170 }
  171 +
  172 + die("<script>
  173 + alert('Ano letivo inicializado com sucesso!');
  174 + window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo';
  175 + </script>");
247 } 176 }
248 177
249 function finalizarAnoLetivo() 178 function finalizarAnoLetivo()
@@ -298,7 +227,69 @@ class indice extends clsCadastro @@ -298,7 +227,69 @@ class indice extends clsCadastro
298 } 227 }
299 } 228 }
300 229
  230 + function rematricularAlunosAprovados() {
  231 + $obj_matricula = new clsPmieducarMatricula();
  232 + $lst_matricula = $obj_matricula->lista( null,null,$this->ref_cod_escola,null,null,null,null,1,null,null,null,null,1,$this->ano-1,null,null,1 );
  233 +
  234 + if (! is_array($lst_matricula))
  235 + return;
  236 +
  237 + foreach ($lst_matricula AS $key => $matricula) {
  238 + $obj_sequencia = new clsPmieducarSequenciaSerie();
  239 + $lst_sequencia = $obj_sequencia->lista( $matricula['ref_ref_cod_serie'],null,null,null,null,null,null,null,1 );
  240 +
  241 + if ( is_array($lst_sequencia) && (count($lst_sequencia) == 1) ) {
  242 + $det_sequencia = array_shift($lst_sequencia);
  243 + $serie_destino = $det_sequencia["ref_serie_destino"];
301 244
  245 + $obj_serie = new clsPmieducarSerie( $serie_destino );
  246 + $det_serie = $obj_serie->detalhe();
  247 +
  248 + $obj_escola_curso = new clsPmieducarEscolaCurso($this->ref_cod_escola, $det_serie["ref_cod_curso"]);
  249 +
  250 + if (is_array($obj_escola_curso->detalhe())) {
  251 + $obj = new clsPmieducarMatricula( $matricula['cod_matricula'],null,null,null,$this->pessoa_logada,null,null,null,null,null,1,null,0 );
  252 + $editou = $obj->edita();
  253 + if( $editou ) {
  254 + $obj = new clsPmieducarMatricula( null,null,$this->ref_cod_escola,$serie_destino,null,$this->pessoa_logada,$matricula['ref_cod_aluno'],3,null,null,1,$this->ano,1,null,null,null,null,$det_serie["ref_cod_curso"] );
  255 + $cadastra = $obj->cadastra();
  256 + if( !$cadastra ) {
  257 + echo "<script>
  258 + alert('Erro ao matricular os alunos da Escola!');
  259 + window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo';
  260 + </script>";
  261 + }
  262 + }
  263 + }
  264 + }
  265 + }
  266 + }
  267 +
  268 + function rematricularAlunosReprovados() {
  269 + $obj_matricula = new clsPmieducarMatricula();
  270 + $lst_matricula = $obj_matricula->lista( null,null,$this->ref_cod_escola,null,null,null,null,2,null,null,null,null,1,$this->ano-1,null,null,1 );
  271 +
  272 + if (! is_array($lst_matricula) )
  273 + return;
  274 +
  275 + foreach ($lst_matricula AS $key => $matricula) {
  276 + $obj_serie = new clsPmieducarSerie( $matricula['ref_ref_cod_serie'] );
  277 + $det_serie = $obj_serie->detalhe();
  278 +
  279 + $obj = new clsPmieducarMatricula( $matricula['cod_matricula'],null,null,null,$this->pessoa_logada,null,null,null,null,null,1,null,0 );
  280 + $editou1 = $obj->edita();
  281 + if( $editou1 ) {
  282 + $obj = new clsPmieducarMatricula( null,null,$this->ref_cod_escola,$matricula['ref_ref_cod_serie'],null,$this->pessoa_logada,$matricula['ref_cod_aluno'],3,null,null,1,$this->ano,1,null,null,null,null,$det_serie["ref_cod_curso"] );
  283 + $cadastra1 = $obj->cadastra();
  284 + if( !$cadastra1 ) {
  285 + echo "<script>
  286 + alert('Erro ao matricular os alunos da Escola!');
  287 + window.location = 'educar_escola_det.php?cod_escola={$this->ref_cod_escola}#ano_letivo';
  288 + </script>";
  289 + }
  290 + }
  291 + }
  292 + }
302 } 293 }
303 294
304 // cria uma extensao da classe base 295 // cria uma extensao da classe base