-
Notifications
You must be signed in to change notification settings - Fork 47
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
Corrige erro ao criar recuperação por etapa #108
base: 1.6
Are you sure you want to change the base?
Corrige erro ao criar recuperação por etapa #108
Conversation
Ajustando a recuperação do vínculo de alunos na turma. Estava causando erro ao abrir avaliações descritivas
Ajuste na recuperação de vínculo de alunos
@@ -37,15 +37,7 @@ def new | |||
@school_term_recovery_diary_record.build_recovery_diary_record | |||
@school_term_recovery_diary_record.recovery_diary_record.unity = current_unity | |||
|
|||
if current_test_setting.blank? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bom dia, tudo bem?
Não entendi o motivo de remover está validação, o que acontece no seu cenário?
Pelo que entendi, você tentou criar uma recuperação de etapa mas esbarrou nesse erro que se dá devido a não ter uma configuração de avaliação numérica.
Mas, como quer criar uma recuperação de etapa se não tem configuração da avaliação numérica?
Essa foi a maior dúvida, pode me explicar melhor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bom dia Gustavo!
Eu criei uma configuração de avaliação numérica por etapa e não a geral. Criei 4 configurações de avaliação numérica por etapa (1 para cada bimestre).
Como nessa tela inicial, de criar uma recuperação, o usuário ainda não escolheu em qual etapa vai fazê-la, então não tem como verificar se existe uma configuração criada ou não, visto que é necessário informar uma etapa como parâmetro da função de validação.
Por isso pensei na possibilidade de remover essa validação porque ela só verifica se há configuração de avaliação numérica geral, quando na verdade seria necessário verificar também se há configuração por etapa.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Você consegue me mostrar exemplo dos dados criados e da mensagem de erro?
Pois, em tese o current_test_setting
, quando não encontra uma configuração geral ele tenta uma busca por etapa.
O arquivo que contém esse lógica é o: test_setting_fetcher.rb
Talvez o ideal então, caso ele não identifique a etapa correta, seria fazer a requisição via ajax quando ele selecionar a etapa. (Posso fazer o ajuste caso realmente seja isso)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Configuração de Avaliação Numérica:
1º Configuração
Tipo: Por Período Escolar
Ano: 2022
Período Escolar: 1º Bimestre
Nota Máxima: 10
Número de casas decimais: 2
Cálculo da média: somatório
Avaliações:
- Trabalho em grupo / Individual
--- Peso: 4,00 - Observação
--- Peso: 3,00 - Autoavaliação
--- Peso: 3,00
Criei mais 3 configurações (2º , 3º e 4º bimestres), alterando apenas os nomes e pesos das avaliações. Mas todas com cálculo da média usando somatório.
Ao tentar criar recuperação por etapa, a mensagem de erro era que não havia avaliação numérica configurada e no log apontava para erro lançado nessa validação (flash[:error] = t('errors.avaliations.require_setting')
) que removi da função new, justamente a que verificava se existia configuração de avaliação numérica geral.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Entendi a sua problemática, tem duas soluções para o mesmo:
-
Ajustar o current_test_setting para pegar corretamente e identificar com qual etapa estamos trabalhando.
-
Fazer uma requisição ajax ao selecionar a etapa para validar esses casos.
Pois, não podemos remover simplesmente a validação que pode trazer problemas.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Entendi. Concordo que deve existir a validação, mas acredito que deve ir para outro local, no local onde ela está é impossível obter a etapa que o usuário deseja trabalhar , pois o erro ocorre ao clicar em Diario de recuperações de etapas -> Novo lançamento
, ou seja, está verificando antes do usuário informar qual etapa ele deseja.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Entendi a problemática, o que acha de tentarmos alterar o test_setting_fetcher.rb
, para conseguir identificar a current_test_setting corretamente para esse caso?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bom dia @gustavomendess! Concordo. Acredito que fica adequado fazer essa verificação no test_setting_fetcher.rb
mesmo.
app/models/student_enrollment.rb
Outdated
@@ -112,9 +112,11 @@ def self.by_opinion_type_query(opinion_type, classroom_id) | |||
exam_rule | |||
|
|||
classroom_grade.student_enrollment_classrooms.each do |student_enrollment_classroom| | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Essa linha em branco no inicio do bloco não precisa colocar, a que você colocou depois da atribuição da variável, sim!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. Removi a linha em branco
Em caso de dúvida, fique a vontade para me enviar um email que conversamos por lá: [email protected] |
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
@williamsla e @gustavomendess acredito que não somente a criação é afetada por esse tratamento, como também a atualização da avaliação de recuperação de etapa. Isso pode estar afetando também a quem trabalha com somatório, pois no i-Educar tem o valor de nota máxima e média de recuperação de etapa. No entanto no i-Diário para lançar uma recuperação para quem trabalho com "Somatório" ele não aceita um valor acima de 10 Quando mencionado "Somatório", me refiro a seguinte tabela de lançamentos. @gustavomendess e @williamsla, existe a possibilidade de juntarmos os esforços a fim de encontrar uma solução para isso, tendo em vista que se trata do fluxo normal da aplicação trabalhar com recuperações. @edersoares, se tiver alguma consideração seria de grande valia aqui nessa issue. |
Recuperando quantidade de casas decimais de configuração de avaliação numérica por etapa
Descrição
Ao criar recuperação numérica por etapa o sistema não estava verificando se há configuração feita por etapa, verificava apenas se havia configuração geral. Removi a verificação de
configuração de avaliação numérica geral
da funçãonew
porque não dava para adicionar a verificação daconfiguração de avaliação numérica por etapa
neste espaço, visto que ali ainda não há a informação sobre a etapa que vai ser utilizada pelo usuário.Contexto e motivação
Estava impedindo a criação de recuperação por tapa
Tipos de alterações
Checklist: