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

Corrige erro ao criar recuperação por etapa #108

Open
wants to merge 6 commits into
base: 1.6
Choose a base branch
from

Conversation

williamsla
Copy link
Contributor

@williamsla williamsla commented Jul 3, 2022

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ção new porque não dava para adicionar a verificação da configuraçã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

  • ✅ Correção de bugs (Não quebra outras funcionalidades)

Checklist:

  • ✅ Eu li o documento CONTRIBUTING. [REQUIRED]
  • ✅ Meu código segue o style guide. [REQUIRED]
  • ✅ Todos os testes novos e existentes estão passando. [REQUIRED]

@@ -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?
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor

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)

Copy link
Contributor Author

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:

  1. Trabalho em grupo / Individual
    --- Peso: 4,00
  2. Observação
    --- Peso: 3,00
  3. 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.

Copy link
Contributor

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:

  1. Ajustar o current_test_setting para pegar corretamente e identificar com qual etapa estamos trabalhando.

  2. 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.

Copy link
Contributor Author

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.

Copy link
Contributor

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?

Copy link
Contributor Author

@williamsla williamsla Jul 7, 2022

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.

@@ -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|

Copy link
Contributor

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!

Copy link
Contributor Author

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

@gustavomendess
Copy link
Contributor

Em caso de dúvida, fique a vontade para me enviar um email que conversamos por lá: [email protected]

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jul 5, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@msoares94
Copy link
Contributor

msoares94 commented Aug 2, 2022

@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.

image

image

image

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

image

Quando mencionado "Somatório", me refiro a seguinte tabela de lançamentos.
image

@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.

@edersoares edersoares changed the base branch from 1.4 to 1.5 December 26, 2023 17:06
@edersoares edersoares changed the title Corrigindo erro ao criar recuperacao por etapa Corrige erro ao criar recuperação por etapa Jun 19, 2024
@edersoares edersoares changed the base branch from 1.5 to 1.6 June 20, 2024 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants