Ao fazer a rematrícula automática, seguindo os passos:
Escolho a Instituição
Escolho a Escola
Escolho o Curso
Após escolher o curso, a Série(próximo campo) fica só em Aguarde carregando.
Os erros reportados no console estão abaixo:
app.js?v=0.0.92:1 GET http://ieducar.prefa.br/socket.io/?EIO=3&transport=polling&t=NphlrB5 404 (Not Found)
jquery-1.8.3.min.js?v=0.0.92:2 Uncaught TypeError: Cannot read properties of undefined (reading ‘length’)
at Function.each (jquery-1.8.3.min.js?v=0.0.92:2)
at jsonResourcesToSelectOptions (DynamicInput.js?v=0.0.92:67)
at Object.handleGetSeries [as success] (Serie.js?v=0.0.92:14)
at l (jquery-1.8.3.min.js?v=0.0.92:2)
at Object.fireWith [as resolveWith] (jquery-1.8.3.min.js?v=0.0.92:2)
at T (jquery-1.8.3.min.js?v=0.0.92:2)
at XMLHttpRequest.r (jquery-1.8.3.min.js?v=0.0.92:2)
Descobri o problema. Pode ser que outros tenham…Então vai aí a solução:
No Serie.Js na função var updateSeries = function(){
espera o ano vindo do formulário, como no formulário da Rematrícula Automática não tem o ano, o mesmo chega com NaN.
Foi inserido um teste se ano vem NaN na função:
Eu já tive o mesmo problema em outras partes do iEducar. Acredito que a informação do ano venha do campo “ano letivo” de “série na escola”. Não sei se a mudança no código é a forma mais apropriada, pois pode gerar um falso positivo onde o ano considerado seja errado pela falta do mesmo nesse campo. Afinal, nem sempre o ano correto na operação será o atual. Lembrando que a mudança no código afetará todas as implementações do input da série no iEducar.
Dito isso, de fato, existem inputs que só funcionam com o ano vindo do formulário como o do componente curricular por turma, então essa solução seria ideal.
Resumindo, vale a análise para não ter dor de cabeça futura.
Fiz alguns testes aqui e percebi que o problema que tive e o que foi informado aqui são levemente diferentes.
No meu caso, ao colocar o curso, o input da série emitia a mensagem “Sem opções”, e tenho quase certeza que isso se dá por não ter séries com o campo “ano letivo” preenchido naquele curso.
Mas caso eu remova a informação do ano do formulário ele vai apresentar o erro desse tópico, “Aguarde carregando…”.
Então, acredito que você está corretíssimo em sua análise, @paglioza, mas eu prefiro resolver o problema localmente, ou seja, colocando um campo oculto com a informação do ano no formulário do que mexendo no input diretamente e correndo o risco de gerar mais problemas visto que o sistema é grande e não tem muitos testes.
Bom dia @Booul
Sim, sua sugestão é muito boa, vou analisar melhor hoje a tarde.
Mas de qualquer forma vai ser atribuído ao campo hidden um valor default de ano, como foi feito na alteração que realizamos.
Uma coisa é certa onde alterei. Se chega sem o ano, não vai adiante, especificamente naquele formulário, como disse, o ano chega NaN.
Mas vou analisar e ver se causa impacto em outros processos. (Creio que não)
@paglioza seguindo a sugestão feita por @Booul basta alterar o arquivo RematriculaAutomatica.js , conforme imagem abaixo. Assim o formulário exibirá o campo ano e evita alterar outras partes do código.