Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2.2] Atualiza versão 2.2 com a master #616

Merged
merged 53 commits into from Jul 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
4c0a11a
Cria classes com conteúdo das migrations que alteram dados para o edu…
munizeverton Jun 5, 2019
2fe7ef4
Altera migrations que alteram dados para o educacenso para pegar das …
munizeverton Jun 5, 2019
eebf1a5
Cria interface para classes de migrations do educacenso
munizeverton Jun 5, 2019
05416ad
Corrige bug na migration que ajusta dados do local de funcionamento d…
munizeverton Jun 5, 2019
af9c304
Corrige campo alterado na migration que cria os gestores escolares
munizeverton Jun 5, 2019
57a667d
Cria classe para rodar as migrations que ajustam dados para o educacenso
munizeverton Jun 5, 2019
1c700da
Roda migrations que ajustam dados após a importação do arquivo do edu…
munizeverton Jun 5, 2019
21fcdaa
Adiciona validação ao inativar turma com matriculas
MatheusNicoski Jun 25, 2019
868fb02
Marca enturmação como remanejada, de acordo com regra da data base
munizeverton Jun 25, 2019
ee3a93a
Ajusta conversão da variavel
MatheusNicoski Jun 25, 2019
ccee87d
Remove ternarios
MatheusNicoski Jun 25, 2019
9e4200e
Marca enturmaçao antiga como remanejada ao criar uma nova
munizeverton Jun 25, 2019
d69f217
Corrige teste que não estava passando
edersoares Jun 25, 2019
bd7fd60
Teste da nova implementação de remanejamento
munizeverton Jun 25, 2019
b110c92
Remove type hint de método que seta médias gerais
munizeverton Jun 27, 2019
cd3302d
Renomeia propriedades e métodos da média geral para o singular
munizeverton Jun 27, 2019
fc0eb99
Adiciona campo Prédio compartilhado aos dados da escola importados
munizeverton Jun 28, 2019
44050ca
Merge pull request #5903 from portabilis/issue-5895
munizeverton Jul 1, 2019
909cb23
Setting: Configuração
edersoares Mar 18, 2019
bc5bcc3
Garante o retorno correto quando do tipo boleano
edersoares Mar 18, 2019
2a0534c
Adiciona a legacy.php chaves e valores de .ini
edersoares Mar 18, 2019
068298f
Métodos auxiliares para pegar as configurações do arquivo .ini
edersoares Jul 1, 2019
9fd28be
Migration que irá mover as configurações pro banco de dados
edersoares Jul 1, 2019
054d80a
Separa funções para não chamar a modal ao inicializar páginas
Bonot Jul 1, 2019
73eb497
Ajusta importação do campo local de funcionamento da escola
munizeverton Jul 1, 2019
73b7b84
Corrige importação de turmas
munizeverton Jul 1, 2019
6a72661
Migra valores da tabela de escolaridades para ajustar ao novos valore…
munizeverton Jul 1, 2019
7a55be8
Importa o campo possui dependencias da escola como 0 por default
munizeverton Jul 1, 2019
2aa00f6
Adiciona ambiente default
edersoares Jul 2, 2019
b389b58
Torna production como default
edersoares Jul 2, 2019
069eb7d
Define botão de cancelamento antes do Inicializar()
Bonot Jul 2, 2019
1be26ec
Corrige observer que atualiza o gestor escolar principal
munizeverton Jul 2, 2019
7b92f30
Cria migration para corrigir os casos de escola sem id do gestor
munizeverton Jul 2, 2019
62bf3e9
Merge pull request #5914 from portabilis/settings
edersoares Jul 2, 2019
c284f6a
Corrige campo de justificativa para apagar corretamente informação
Bonot Jul 2, 2019
abc2ff7
Merge branch '2.2' into portabilis-patch-2019-07-02
edersoares Jul 2, 2019
855622b
Remove migration não utilizada mais
edersoares Jul 2, 2019
131cb04
Ajusta migration para tratar inconsistências entre gestores e pessoas
munizeverton Jul 2, 2019
63f12ff
Ajusta migration que insere graduações do servidor para impedir dupli…
munizeverton Jul 2, 2019
bbdf057
Altera redirecionamento após enturmação
munizeverton Jul 2, 2019
e823411
Melhoria de código
Bonot Jul 2, 2019
551db5c
Merge pull request #5800 from portabilis/issue-5770
munizeverton Jul 2, 2019
2467929
Merge pull request #5894 from portabilis/issue-5880
munizeverton Jul 2, 2019
46ff0b9
Merge pull request #5921 from portabilis/issue-3341
Bonot Jul 2, 2019
6cff542
Merge pull request #5919 from portabilis/issue-5885
Bonot Jul 2, 2019
34baae8
Corrige busca pelo período de enturmação
edersoares Jul 3, 2019
70492c3
Merge pull request #5924 from portabilis/fix-school-class
edersoares Jul 3, 2019
20f5d96
Merge pull request #5920 from portabilis/issue-5913
munizeverton Jul 3, 2019
576cec6
Merge branch 'master' into issue-5877
MatheusNicoski Jul 3, 2019
43a5d9a
Merge pull request #5886 from portabilis/issue-5877
MatheusNicoski Jul 3, 2019
8e039f3
Merge pull request #5915 from portabilis/issue-5912
Bonot Jul 3, 2019
aaf5681
Merge branch '2.2-melhorias' into portabilis-patch-2019-07-04
edersoares Jul 4, 2019
f8c14c2
Remove migrations não usadas
edersoares Jul 4, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 2 additions & 8 deletions app/Http/Controllers/EnrollmentController.php
Expand Up @@ -73,10 +73,7 @@ public function enroll(
}

if ($request->input('is_cancellation')) {
return redirect()->route('enrollments.index', [
'ref_cod_matricula' => $registration->id,
'ano_letivo' => $registration->year,
])->with('success', 'Enturmação feita com sucesso.');
return redirect('/intranet/educar_matricula_det.php?cod_matricula=' . $registration->id)->with('success', 'Enturmação feita com sucesso.');
}

try {
Expand All @@ -85,9 +82,6 @@ public function enroll(
return redirect()->back()->with('error', $throwable->getMessage());
}

return redirect()->route('enrollments.index', [
'ref_cod_matricula' => $registration->id,
'ano_letivo' => $registration->year,
])->with('success', 'Enturmação feita com sucesso.');
return redirect('/intranet/educar_matricula_det.php?cod_matricula=' . $registration->id)->with('success', 'Enturmação feita com sucesso.');
}
}
2 changes: 1 addition & 1 deletion app/Models/LegacySchoolClass.php
Expand Up @@ -137,7 +137,7 @@ public function getTotalEnrolled()
*/
public function getBeginAcademicYearAttribute()
{
return $this->stages()->first()->data_inicio;
return $this->stages()->orderBy('sequencial')->first()->data_inicio;
}

/**
Expand Down
3 changes: 2 additions & 1 deletion app/Observers/SchoolManagerObserver.php
Expand Up @@ -14,11 +14,12 @@ class SchoolManagerObserver
*/
public function created(SchoolManager $schoolManager)
{

if (!$schoolManager->isChief()) {
return;
}

$this->updateManagerDataSchool($schoolManager, $schoolManager->individual_id, $schoolManager->role_id, $schoolManager->individual->person->email);
$this->updateManagerDataSchool($schoolManager, $schoolManager->employee_id, $schoolManager->role_id, $schoolManager->individual->person->email);
}

/**
Expand Down
42 changes: 42 additions & 0 deletions app/Services/EnrollmentService.php
Expand Up @@ -209,6 +209,12 @@ public function enroll(
throw new ExistsActiveEnrollmentSameTimeException($registration);
}

$previousEnrollment = $this->getPreviousEnrollment($registration);

if ($previousEnrollment) {
$this->markAsRelocated($previousEnrollment);
}

$sequenceInSchoolClass = $this->getSequenceSchoolClass($registration, $schoolClass, $date);

/** @var LegacyEnrollment $enrollment */
Expand All @@ -223,4 +229,40 @@ public function enroll(

return $enrollment;
}

/**
* Atualiza o campo remanejado na enturmação para TRUE
*
* @param LegacyEnrollment $enrollment
* @throws Throwable
*/
private function markAsRelocated(LegacyEnrollment $enrollment)
{
$enrollment->remanejado = true;
$enrollment->saveOrFail();
}

/**
* Verifica se a matrícula tem enturmação anterior, com data de saída posterior a data base,
* ou data base vazia
*
* @param LegacyRegistration $registration
* @return LegacyEnrollment|void
*/
private function getPreviousEnrollment(LegacyRegistration $registration)
{
$previousEnrollment = $registration->lastEnrollment;

if (!$previousEnrollment) {
return;
}

$dateDeparted = $previousEnrollment->date_departed;

$relocationDate = $previousEnrollment->schoolClass->school->institution->relocation_date;

if (!$relocationDate || $relocationDate < $dateDeparted) {
return $previousEnrollment;
}
}
}
20 changes: 16 additions & 4 deletions ieducar/intranet/educar_importacao_educacenso.php
Expand Up @@ -2,7 +2,9 @@
//error_reporting(E_ALL);
//ini_set("display_errors", 1);

ini_set("max_execution_time", 30000);
use iEducar\Modules\Educacenso\RunMigrations;

ini_set("max_execution_time", 0);
/**
* i-Educar - Sistema de gestão escolar
*
Expand Down Expand Up @@ -157,11 +159,20 @@ function Editar()
}
//echo 'Tempo para importar registro '.$numeroRegistro.': ' . (microtime(true) - $time_start) . '<br/>';
}

$this->runMigrations();

@header_remove('Set-Cookie');
$this->mensagem = "Arquivo importado!";
return true;
}

private function runMigrations()
{
$runMigrationsService = new RunMigrations();
$runMigrationsService->run();
}

function importaRegistro00($dadosRegistro) {

$inep = $dadosRegistro[1];
Expand Down Expand Up @@ -320,7 +331,9 @@ function importaRegistro10($dadosRegistro){
}

$camposEscola = array(
'local_funcionamento' => $localFuncionamento,
'possui_dependencias' => 0,
'local_funcionamento' => (string) $localFuncionamento,
'predio_compartilhado_outra_escola' => $dadosRegistro[13-1],
'condicao' => $dadosRegistro[12-1],
'codigo_inep_escola_compartilhada' => $dadosRegistro[14-1],
'agua_consumida' => $dadosRegistro[20-1],
Expand Down Expand Up @@ -441,7 +454,6 @@ function importaRegistro10($dadosRegistro){
}
$objEscola->edita();
}

}

private function isPostgresArray($value)
Expand Down Expand Up @@ -566,7 +578,7 @@ function importaRegistro20($dadosRegistro){
$turma->max_aluno = 99;
$turma->ativo = 1;
$turma->multiseriada = 0;
$turma->visivel = 1;
$turma->visivel = true;
$turma->ref_cod_turma_tipo = $codTurmaTipo;
$turma->hora_inicial = $horaInicial;
$turma->hora_final = $horaFinal;
Expand Down
17 changes: 13 additions & 4 deletions ieducar/intranet/educar_turma_cad.php
Expand Up @@ -104,6 +104,8 @@ class indice extends clsCadastro
];
public $nao_informar_educacenso;
public $ano_letivo;
public $nome_url_cancelar = 'Cancelar';
public $url_cancelar = 'educar_turma_lst.php';

public function Inicializar()
{
Expand Down Expand Up @@ -191,8 +193,6 @@ public function Inicializar()
url('intranet/educar_index.php') => 'Escola',
]);

$this->nome_url_cancelar = 'Cancelar';

$this->retorno = $retorno;

return $retorno;
Expand Down Expand Up @@ -865,7 +865,7 @@ public function Novo()
$this->ref_cod_instituicao_regente = $this->ref_cod_instituicao;

$this->multiseriada = isset($this->multiseriada) ? 1 : 0;
$this->visivel = isset($this->visivel) ? 'true' : 'false';
$this->visivel = isset($this->visivel);

$objTurma = $this->montaObjetoTurma(null, $this->pessoa_logada);

Expand Down Expand Up @@ -906,6 +906,7 @@ public function Novo()
public function Editar()
{
$turmaDetalhe = new clsPmieducarTurma($this->cod_turma);
$possuiAlunosVinculados = $turmaDetalhe->possuiAlunosVinculados();
$turmaDetalhe = $turmaDetalhe->detalhe();
$this->ref_cod_curso = $turmaDetalhe['ref_cod_curso'];
$this->ref_ref_cod_escola = $turmaDetalhe['ref_ref_cod_escola'];
Expand All @@ -918,7 +919,15 @@ public function Editar()
return false;
}

$this->visivel = isset($this->visivel) ? 'true' : 'false';

$this->visivel = isset($this->visivel);

if (!$this->visivel && $possuiAlunosVinculados) {
$this->mensagem = 'Não foi possível inativar a turma, pois a mesma possui matrículas vinculadas.';

return false;
}

$this->multiseriada = isset($this->multiseriada) ? 1 : 0;

$objTurma = $this->montaObjetoTurma($this->cod_turma, null, $this->pessoa_logada);
Expand Down
5 changes: 4 additions & 1 deletion ieducar/intranet/include/pmieducar/clsPmieducarAluno.inc.php
Expand Up @@ -57,7 +57,7 @@ class clsPmieducarAluno
var $tipo_responsavel;
var $recursos_prova_inep;
var $recebe_escolarizacao_em_outro_espaco;
var $justificativa_falta_documentacao;
var $justificativa_falta_documentacao = false;
var $url_laudo_medico;
var $url_documento;
var $codigo_sistema;
Expand Down Expand Up @@ -590,6 +590,9 @@ function edita()
if (is_numeric($this->justificativa_falta_documentacao)) {
$set .= "{$gruda}justificativa_falta_documentacao = '{$this->justificativa_falta_documentacao}'";
$gruda = ', ';
} elseif ($this->justificativa_falta_documentacao !== false) {
$set .= "{$gruda}justificativa_falta_documentacao = null";
$gruda = ', ';
}

if (is_string($this->url_documento) && $this->url_documento != '') {
Expand Down
6 changes: 4 additions & 2 deletions ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php
Expand Up @@ -495,7 +495,8 @@ public function cadastra()
$gruda = ', ';
}

if (!is_null($this->visivel)) {
if (is_bool($this->visivel)) {
$this->visivel = $this->visivel ? 'true' : 'false';
$campos .= "{$gruda}visivel";
$valores .= "{$gruda}'{$this->visivel}'";
$gruda = ', ';
Expand Down Expand Up @@ -844,7 +845,8 @@ public function edita()
$gruda = ", ";
}

if (!is_null($this->visivel)) {
if (is_bool($this->visivel)) {
$this->visivel = $this->visivel ? 'true' : 'false';
$set .= "{$gruda}visivel = {$this->visivel}";
$gruda = ', ';
}
Expand Down
25 changes: 21 additions & 4 deletions ieducar/intranet/scripts/etapas.js
Expand Up @@ -16,7 +16,7 @@ $j(function () {
this.setupEnv();
this.removeTableCellsAndRows();
this.setCurrentModule();
this.setupModule();
this.initModule();
this.selectModule();
},
getSelector: function (key) {
Expand Down Expand Up @@ -252,8 +252,25 @@ $j(function () {

container.dialog(params);
},
initModule: function () {
var $select = $j('#ref_cod_modulo'),
val = $select.val(),
availableModules = window.modulosDisponiveis || [],
moduleInfo = availableModules[val] || {},
etapas = moduleInfo.etapas || undefined,
rows = this.countRows();

if (etapas > rows) {
var diff = etapas - rows;
this.addRows(diff);
}

if (etapas < rows) {
var diff = rows - etapas;
this.removeRows(diff);
}
},
setupModule: function () {
var defineEtapaNaTurma = $j('#padrao_ano_escolar').val() === '0';
var $select = $j('#ref_cod_modulo'),
val = $select.val(),
availableModules = window.modulosDisponiveis || [],
Expand All @@ -277,7 +294,7 @@ $j(function () {

this.setCurrentModule();

if (etapas > rows && defineEtapaNaTurma) {
if (etapas > rows) {
var diff = etapas - rows;

content += (diff == 1)
Expand Down Expand Up @@ -313,7 +330,7 @@ $j(function () {
});
}

if (etapas < rows && defineEtapaNaTurma) {
if (etapas < rows) {
var diff = rows - etapas;

content += (diff == 1)
Expand Down
47 changes: 47 additions & 0 deletions ieducar/lib/CoreExt/Config/Ini.class.php
Expand Up @@ -226,4 +226,51 @@ private function processDirectives($value, $keys, $config = [])

return $config;
}

/**
* Transforma uma array multidimensional em uma array de chave: valor
* utilizando a dot syntax.
*
* @param array $array
* @param string $key
* @param mixed $value
*
* @return mixed
*/
private function dotCompact($array, $key, $value)
{
if (is_array($value)) {
foreach ($value as $internKey => $internValue) {
$array = $this->dotCompact($array, "{$key}.{$internKey}", $internValue);
}
}

if (is_scalar($value)) {
$array[$key] = $value;
}

return $array;
}

/**
* Retorna uma array com as configurações que existiam no arquivo .ini.
*
* @param string $tenant
*
* @return array
*/
public function getSettings($tenant)
{
$item = collect($this->iniArr)->first(function ($item) use ($tenant) {
return $item['app']['database']['dbname'] === $tenant;
});

if (empty($item)) {
$item = collect($this->iniArr)->first(function ($item, $key) use ($tenant) {
return $key === 'production';
});
}

return $this->dotCompact([], 'legacy', $item);
}
}
4 changes: 2 additions & 2 deletions ieducar/modules/Avaliacao/Service/Boletim.php
Expand Up @@ -335,7 +335,7 @@ protected function _loadMedias()
}

$this->setMediasComponentes($mediasComponentes);
$this->setMediasGerais($mediasGerais);
$this->setMediaGeral($mediasGerais);

return $this;
}
Expand Down Expand Up @@ -725,7 +725,7 @@ public function getSituacaoNotas($calcularSituacaoAluno = false)

if($this->getRegraAvaliacaoNotaGeralPorEtapa() == "1"){

$mediaGeral = $this->getMediasGerais();
$mediaGeral = $this->getMediaGeral();

if ($this->getRegraAvaliacaoTipoNota() == RegraAvaliacao_Model_Nota_TipoValor::NUMERICA) {
$media = $mediaGeral->mediaArredondada;
Expand Down