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

Feat/substitute teacher #883

Open
wants to merge 28 commits into
base: dev
Choose a base branch
from
Open

Feat/substitute teacher #883

wants to merge 28 commits into from

Conversation

AnotherOne07
Copy link
Collaborator

@AnotherOne07 AnotherOne07 commented Dec 3, 2024

Motivação

  • Usuários do sistema solicitaram a criação de um filtro na visualização dos registros de frequência e aulas ministradas através do acesso do professor, de modo que o professor substituto não tenha acesso aos registros do professor regente e que o professor regente não tenha acesso aos registros do professor substituto.

Alterações Realizadas

  • [NOVO] - Funcionalidade "Atribuir Professor Substituto" na view de "Quadro de horários"
  • [ATUALIZAÇÃO] - Filtro adicionado a funcionalidade de atribuir frequência de alunos.
  • [ATUALIZAÇÃO] - Filtro adicionado a funcionalidade de atribuir aulas ministradas.
  • [ATUALIZAÇÃO] - Filtro adicionado as telas de "Diário de Classe"

🧪 Fluxo de Teste

⚠️ Pré-Requisitos sugeridos:

- Verificar se a turma que será utilizada para testes já possui um professor regente atribuído, 
caso negativo, adicione.
- Adicionar professor substituto a turma que será utilizada para testes.
- RECOMENDO QUE OS PROFESSORES REGENTE E SUBSTITUTO MINISTREM O MESMO COMPONENTE CURRICULAR.

🧪 Fluxo de Teste 1: Adicionar e Remover dias de aula para professor substituto.

- Acessar tela de "Quadro de Horário"
- Clicar no botão "Atribuir Professor Substituto"
- Preencha os selects do formulário de acordo com o quadro de horário da turma selecionada
- Sendo que cada input checkbox representa um dia de aula no qual o professor substituto que ministrará a aula
marque e desmarque os inputs e verifique se as marcações persistem após recarregar a página ou atualizar 
os campos do formulários.

✔️ Validação de Teste 1

✅ Sucesso: Marcação de aulas do professor substituto persistem após atualizar a página ou alterar o formulário.
🟥 Falha: Marcações de aulas do professor substituto não persistem após atualizar a página ou alterar o formulário.

🧪 Fluxo de Teste 2: Adicionar e Remover frequência com acesso de professor regente e professor substituto.

PROFESSOR REGENTE:
- Com o acesso do professor regente, acesse a tela de frequência da turma.
- Verifique se os dias de aula marcados como aula do professor substituto estão aparecendo.
- Adicione e remova registros, e então verifique se há persistência das informações.

PROFESSOR SUBSTITUTO
- Com o acesso do professor substituto, acesse a tela de frequência da turma.
- Verifique se os dias de aula marcados como aula de professor substituto estão aparecendo.
- Adicione e remova registros, e então verifique se há persistência das informações.

✔️ Validação de Teste 2

✅ Sucesso: Os dias marcados como dia de aula do professor substituto NÃO APARECEM para o acesso do professor REGENTE.
✅ Sucesso: Os dias marcados como dia de aula do professor substituto APARECEM para o acesso do professor SUBSTITUTO.
🟥 Falha: Os dias marcados como dia de aula do professor substituto APARECEM para o acesso do professor REGENTE.
🟥 Falha: Os dias marcados como dia de aula do professor substituto NÃO APARECEM para o acesso do professor SUBSTITUTO.

🧪 Fluxo de Teste 3: Adicionar e Remover aulas ministradas com acesso de professor regente e professor substituto.

PROFESSOR REGENTE:
- Com o acesso do professor regente, acesse a tela de aulas ministradas da turma.
- Verifique se os dias de aula marcados como aula do professor substituto estão aparecendo.
- Adicione e remova registros, e então verifique se há persistência das informações.

PROFESSOR SUBSTITUTO
- Com o acesso do professor substituto, acesse a tela de aulas ministradas da turma.
- Verifique se os dias de aula marcados como aula de professor substituto estão aparecendo.
- Adicione e remova registros, e então verifique se há persistência das informações.

✔️ Validação de Teste 3

✅ Sucesso: Os dias marcados como dia de aula do professor substituto NÃO APARECEM para o acesso do professor REGENTE.
✅ Sucesso: Os dias marcados como dia de aula do professor substituto APARECEM para o acesso do professor SUBSTITUTO.
🟥 Falha: Os dias marcados como dia de aula do professor substituto APARECEM para o acesso do professor REGENTE.
🟥 Falha: Os dias marcados como dia de aula do professor substituto NÃO APARECEM para o acesso do professor SUBSTITUTO.

🧪 Fluxo de Teste 4: Adicionar e Remover frequência e aulas ministradas com acesso de professor regente e professor substituto na tela de "Diário de Classe"

PROFESSOR REGENTE:
- Com o acesso do professor regente, acesse a tela de Diário de Classe da turma.
- Verifique se os dias de aula marcados como aula do professor substituto estão aparecendo.
- Adicione e remova registros, e então verifique se há persistência das informações.

PROFESSOR SUBSTITUTO
- Com o acesso do professor substituto, acesse a tela de Diário de Classe da turma.
- Verifique se os dias de aula marcados como aula de professor substituto estão aparecendo.
- Adicione e remova registros, e então verifique se há persistência das informações.

✔️ Validação de Teste 4

✅ Sucesso: Os dias marcados como dia de aula do professor substituto NÃO APARECEM para o acesso do professor REGENTE.
✅ Sucesso: Os dias marcados como dia de aula do professor substituto APARECEM para o acesso do professor SUBSTITUTO.
🟥 Falha: Os dias marcados como dia de aula do professor substituto APARECEM para o acesso do professor REGENTE.
🟥 Falha: Os dias marcados como dia de aula do professor substituto NÃO APARECEM para o acesso do professor SUBSTITUTO.

Migrations Utilizadas

app\migrations\2024-10-23_create_substitute_teacher_table\sql.sql

Checklist de revisão

  • O número da versão foi alterado no arquivo config.php?
  • Foi adicionada uma descrição das alterações no arquivo de CHANGELOG?
  • O pull request passou na avaliação do SonarLint?
  • O pull request está nomeado corretamente seguindo o padrão de nomes de branchs?

}

if (disciplines !== "") {
$("#disciplines").html(decodeHtml(disciplines)).show();

Check warning

Code scanning / SnykCode

Cross-site Scripting (XSS) Warning

Unsanitized input from {0} {1} into {2}, where it is used to dynamically construct the HTML page on client side. This may result in a DOM Based Cross-Site Scripting attack (DOMXSS).
… sql queries to load frequency on other views
@@ -116,6 +115,9 @@
icons: null,
});
});
} else {
$(".alert-incomplete-data").html(data.error).show();

Check warning

Code scanning / SnykCode

Cross-site Scripting (XSS) Warning

Unsanitized input from {0} {1} into {2}, where it is used to dynamically construct the HTML page on client side. This may result in a DOM Based Cross-Site Scripting attack (DOMXSS).
@AnotherOne07 AnotherOne07 marked this pull request as ready for review December 10, 2024 15:37
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ B)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Copy link
Collaborator

@Gusta-Santos Gusta-Santos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@GabrielChagas14 GabrielChagas14 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Pronto para merge reviews feitas e aprovadas
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants