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

Portabilis patch 24/09/2024 #172

Open
wants to merge 206 commits into
base: 1.6
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
10b79d5
Insere filtro de professores na query de observações
AnaPerola Jun 19, 2024
4e601df
Evita configuração de redis para ambiente de desenvolvimento
AnaPerola Jun 20, 2024
f2caf8b
Insere nova funcao para desabilitar o botao
AnaPerola Jun 20, 2024
fc54a2b
Captura ano do plano e envia como parametro
AnaPerola Jun 21, 2024
7caa11c
Ajusta captura de select2
AnaPerola Jun 21, 2024
7300735
Cria método para buscar etapa da avaliação
AnaPerola Jun 22, 2024
3699be5
Remove o campo backup_file da tabela de auditoria
AnaPerola Jun 24, 2024
bcfa46b
Corrige nome do campo a ser desconsiderado para auditoria
AnaPerola Jun 24, 2024
ca85e49
Remove secrets das variaveis de ambiente
AnaPerola Jun 24, 2024
ca05210
Remove secrets das variaveis de ambiente
AnaPerola Jun 24, 2024
6b20590
Restaura confis deletadas indevidamente
AnaPerola Jun 24, 2024
7730b1c
Remove complexidade
AnaPerola Jun 24, 2024
0f40045
Altera nome do método e identação
AnaPerola Jun 25, 2024
316e39d
Informa dois parametros para has_scope tratar
AnaPerola Jun 25, 2024
d711a99
Ajusta forma de capturar o ano do form
AnaPerola Jun 25, 2024
1842fa2
Cria condicional para definir a etapa da turma correta
AnaPerola Jun 26, 2024
f6b524a
Merge pull request #4602 from portabilis/issue-4645
AnaPerola Jun 27, 2024
05f3cc2
Merge pull request #4599 from portabilis/issue-4667
AnaPerola Jun 27, 2024
0f1f745
Merge pull request #4597 from portabilis/ap-fix-redis-config
AnaPerola Jun 27, 2024
b044a20
Merge pull request #4600 from portabilis/issue-4466
AnaPerola Jul 5, 2024
f1a7b2c
Corrige checkbox de seleção de todos os usuários
edddieee Jul 6, 2024
94c469b
Mantém seleção de usuários após mudar de página
edddieee Jul 6, 2024
0770c7c
Insere guard clause e aplica filtro de regitros por professor
AnaPerola Jul 15, 2024
deaaf5e
Ajusta nome da variavel para melhorar a legibilidade
AnaPerola Jul 15, 2024
3255a9e
Ajusta identação
AnaPerola Jul 15, 2024
d287753
Remove operacional não necessario
AnaPerola Jul 15, 2024
e0be333
Cria condicional apenas para alunos ativos
AnaPerola Jul 15, 2024
36aa185
Insere lógica na view para renderizar o erro de séries para o usuário
AnaPerola Jul 16, 2024
12c6753
simplifica a condicional
AnaPerola Jul 16, 2024
baac18f
Remove complexidade e apenas verifica os status de avaliações de cada…
AnaPerola Jul 16, 2024
50e4b18
Insere ajustes para melhorar legibilidade e remover avaliações isentas
AnaPerola Jul 17, 2024
a0fbb98
Aplica includes para evitar n+1
AnaPerola Jul 17, 2024
367b9ef
Realiza ajustes para remover avaliações dispensadas
AnaPerola Jul 17, 2024
3163c5c
Retorna logica necessária
AnaPerola Jul 17, 2024
c921b70
Merge pull request #4626 from portabilis/issue-4741
AnaPerola Jul 17, 2024
659ee34
Considera etapa numérica do calendario da turma se houver
AnaPerola Jul 18, 2024
28f2022
Altera find_each por find para não perder a ordenação dos usuários
AnaPerola Jul 18, 2024
c7bb250
Merge pull request #4630 from portabilis/issue-4779
AnaPerola Jul 19, 2024
3f68c81
Merge pull request #4621 from portabilis/user-export-fix
AnaPerola Jul 22, 2024
ada8eea
Merge pull request #4593 from portabilis/issue-4599
AnaPerola Jul 22, 2024
d02af58
Merge pull request #4627 from portabilis/issue-4694
AnaPerola Jul 22, 2024
acd54af
Insere mais informação na auditoria para melhorar leitura
AnaPerola Jul 23, 2024
ec2b3cb
Remove campo não necessário
AnaPerola Jul 23, 2024
c7ed69f
Insere mais informação na auditoria ao deletar frequencias e notas
AnaPerola Jul 23, 2024
5f27e8b
Busca apenas o primeiro usuário administrador do banco para setar na …
AnaPerola Jul 23, 2024
4319956
Insere uniq para retornar apenas uma enturmação por matricula
AnaPerola Jul 23, 2024
43fb8e7
Ajusta nome para melhorar legibilidade
AnaPerola Jul 23, 2024
ffff645
Ajusta nome da variavel
AnaPerola Jul 23, 2024
f697ab4
Altera o serviço responsavel por listar alunos
AnaPerola Jul 23, 2024
7c7ed87
Verifica se o aluno esta enturmado de acordo com a combinação de data…
AnaPerola Jul 23, 2024
966cdcb
Trata listagem de alunos e notas com a estrutura de hash
AnaPerola Jul 23, 2024
120f4c4
Ajusta condicional para atender a regra de negocio da melhor forma
AnaPerola Jul 23, 2024
01f4f4a
Ajusta comentario de cenário de teste
AnaPerola Jul 23, 2024
0e93239
Refatora métodos responsaveis por listar alunos
AnaPerola Jul 23, 2024
44c1ab9
Converte parametros para hash antes de passar verificar no bloco
AnaPerola Jul 23, 2024
66520bb
Remove a disciplina do perfil como default na avaliação descritiva
AnaPerola Jul 24, 2024
2ad51ac
Merge pull request #4628 from portabilis/issue-4766
AnaPerola Jul 24, 2024
a1842c9
Insere apenas o usuario na auditoria
AnaPerola Jul 24, 2024
603727c
Filtra enturmações por aluno
AnaPerola Jul 24, 2024
d62f33c
Cria nova rota para listagem de frequencias por escola
AnaPerola Jul 29, 2024
4ecf193
Cria logica para listar as frequencias
AnaPerola Jul 29, 2024
6e0f599
Torna chaves mais descritivas
AnaPerola Jul 29, 2024
c086895
Merge pull request #4631 from portabilis/issue-4792
AnaPerola Jul 29, 2024
f4f2633
Evita duplicidade de alunos quando checkbox de 'mostrar enturmações a…
AnaPerola Jul 29, 2024
ff315c0
Remove responsabilidade de filtro do serviço
AnaPerola Jul 29, 2024
6b7b4a0
Remove comentario não necessário
AnaPerola Jul 29, 2024
3b64fa5
Remove logica de avaliações dispensadas, pois ela já existe na materi…
AnaPerola Jul 29, 2024
c097b47
Remove distinct não necessário
AnaPerola Jul 30, 2024
2f6bcf2
Ajusta identações
AnaPerola Jul 30, 2024
bca979b
Remove joins não necessários e utiliza group para melhorar performance
AnaPerola Jul 30, 2024
aba7974
Utiliza id da turma do i-Educar e não o id da turma do i-Diário
AnaPerola Jul 30, 2024
00b6824
Ajusta nome de parametro
AnaPerola Jul 30, 2024
12d95ea
Remove variáveis que não são mais utilizadas
AnaPerola Jul 30, 2024
4912500
Ajusta nome de variavel
AnaPerola Jul 31, 2024
d8b7f1f
Aplica ajustes na query de frequencias para melhorar performance
AnaPerola Jul 31, 2024
f8d8f14
Remove comentário não necessário
AnaPerola Jul 31, 2024
752bdcf
Ajusta nome de parametro
AnaPerola Jul 31, 2024
f21c4cb
Merge pull request #4632 from portabilis/issue-4681-1
AnaPerola Jul 31, 2024
b7bb092
Update app/controllers/descriptive_exams_controller.rb
AnaPerola Jul 31, 2024
311cb4a
Adicionando novo campo da turma que indica maximo de alunos na turma
AnaPerola Aug 1, 2024
a854f4f
Retorna ids do i-Educar nas séries e cursos
AnaPerola Aug 1, 2024
36d182f
Ajusta query para considerar apenas uma presença por dia
AnaPerola Aug 1, 2024
40483c2
Cria migration para armazenar o campo max_aluno
AnaPerola Aug 1, 2024
1429d28
Recebe o maximo de alunos da turma
AnaPerola Aug 1, 2024
5030cd1
Altera nome do endpoint e controller
AnaPerola Aug 1, 2024
1c26923
Transfere logica para o service
AnaPerola Aug 1, 2024
0dd7b9f
Encapsula logica de alunos em um método
AnaPerola Aug 5, 2024
3e21005
Ajusta verificação de aluno com dispensa na avaliação
AnaPerola Aug 5, 2024
5b09d5c
Informa erro caso valor do parametro não esteja de acordo com o esperado
AnaPerola Aug 5, 2024
49609d1
Merge branch 'main' into issue-4692
AnaPerola Aug 5, 2024
2901c9a
Ajusta cenário de teste
AnaPerola Aug 5, 2024
7d88563
Merge branch 'issue-4692' of github.com:portabilis/i-diario-portabili…
AnaPerola Aug 5, 2024
265753e
Corrige validações para renderizar legenda na view
AnaPerola Aug 5, 2024
da2f16e
Recebe disciplina apenas se tipo de parecer não for geral
AnaPerola Aug 5, 2024
9040520
Merge branch 'issue-4749' of github.com:portabilis/i-diario-portabili…
AnaPerola Aug 5, 2024
ff8f4d4
Merge pull request #4629 from portabilis/issue-4772
AnaPerola Aug 6, 2024
0b9d528
Altera lógica para capturar a regra de avaliação da enturmaçào do aluno
AnaPerola Aug 6, 2024
7ac5022
Merge pull request #4633 from portabilis/issue-4692
AnaPerola Aug 7, 2024
1333e22
Merge pull request #4634 from portabilis/issue-4749
AnaPerola Aug 7, 2024
79be33f
Implementa select distinct para evitar registros duplicados
AnaPerola Aug 8, 2024
15147f8
Ajusta logica para capturar todas as enturmações ativas dentro do ran…
AnaPerola Aug 8, 2024
9ec8057
Ajusta ordenação das variaveis e métodos
AnaPerola Aug 12, 2024
fa8a2aa
Ajusta forma de capturar as enturmações por data
AnaPerola Aug 12, 2024
238dda5
Cria logica em SQL para filtrar as enturmações por data
AnaPerola Aug 12, 2024
713d802
Remove injeção de SQL e agrega as enturmações durante a listagem
AnaPerola Aug 13, 2024
a25d078
Corrige utilização do pluck para funcionamento correto
AnaPerola Aug 13, 2024
d11147f
Merge pull request #4636 from portabilis/issue-4812
AnaPerola Aug 13, 2024
c1cedea
Insere logica para filtrar alunos em dispensa ao enviar nota conceitual
AnaPerola Aug 13, 2024
78d605d
Retorna utilização de map
AnaPerola Aug 14, 2024
79cc5a6
Realiza melhorias no codigo para melhorar legibilidade
AnaPerola Aug 14, 2024
2786d95
Remove parametro de escola e adiciona validação de parametros
AnaPerola Aug 15, 2024
4bb2557
Altera parametro de escola para turmas
AnaPerola Aug 15, 2024
95c7bc1
Ajusta forma de capturar turma e altera nomeclatura de variavel
AnaPerola Aug 15, 2024
a190bb4
Ajusta nome de variavel para melhorar legibilidade
AnaPerola Aug 16, 2024
cdd61b2
Cria um cenário de teste para serviço
AnaPerola Aug 16, 2024
3cfc230
Cria rota para listagem de frequencia de alunos
AnaPerola Aug 16, 2024
e9137fb
Cria controller para tratar os parametros e invocar service
AnaPerola Aug 16, 2024
7e675c6
Cria service para montar a listagem de frequencias por aluno
AnaPerola Aug 16, 2024
07b8cee
Merge pull request #4637 from portabilis/issue-4829
AnaPerola Aug 19, 2024
c45d6d7
Ajusta nome do parametro e torna obrigatorio
AnaPerola Aug 19, 2024
1658c38
Ajusta nome do parametro
AnaPerola Aug 19, 2024
258ffc8
Remove variavel de instancia e ajusta query para buscar turmas
AnaPerola Aug 19, 2024
0aac94b
Insere query para buscar alunos e frequencias
AnaPerola Aug 19, 2024
2f4c042
Formata frequencias com dados do aluno
AnaPerola Aug 19, 2024
2e103e6
Cria método para organizar e retornar as frequencias da turma
AnaPerola Aug 19, 2024
1547cc2
Insere informação de série no retorno do serviço
AnaPerola Aug 19, 2024
a717baa
Remove escopos e faz apenas uma condicional na query
AnaPerola Aug 19, 2024
48237a3
Captura apenas os valores da hash students
AnaPerola Aug 19, 2024
cc956b5
Adiciona ordenação ignorando letras maiusculas e minusculas
AnaPerola Aug 20, 2024
b71dcfb
Captura totalizador de presença e não de frequencia
AnaPerola Aug 20, 2024
bef17ed
Merge pull request #4638 from portabilis/issue-4835
AnaPerola Aug 20, 2024
ff0785d
Altera parametros de datas para buscar alunos enturmados na data
AnaPerola Aug 20, 2024
5ec25d5
Remove parametros não necessários
AnaPerola Aug 21, 2024
4a366ce
Cria query para buscar data de enturmação de cada aluno
AnaPerola Aug 21, 2024
1230272
Merge pull request #4640 from portabilis/issue-4881
AnaPerola Aug 23, 2024
8b1d26b
Merge pull request #4635 from portabilis/issue-4815
AnaPerola Aug 23, 2024
52fa18f
Merge pull request #4641 from portabilis/issue-4827
AnaPerola Aug 23, 2024
67b1880
Corrige a contagem de presenças do aluno no dia
AnaPerola Aug 23, 2024
675c283
Troca validação unless por if para melhorar legibilidade
AnaPerola Aug 27, 2024
746425b
Troca serviço de listagem de alunos para melhorar performance
AnaPerola Aug 27, 2024
f083405
Melhora query para receber parametro de alunos corretamente
AnaPerola Aug 27, 2024
b20a3ac
Insere query de turmas no método para evitar codigo duplicado
AnaPerola Aug 27, 2024
542d44a
Informa novo nome de método responsavel por listar os alunos
AnaPerola Aug 27, 2024
de96727
Privativa o método
AnaPerola Aug 27, 2024
ccdd8db
Ajusta identação dos parametros e altera nome do parametro responsave…
AnaPerola Aug 27, 2024
4b709ed
Transfere logica para métodos para melhorar legibilidade
AnaPerola Aug 27, 2024
28c9672
Ajusta utilização de variavel referente a média e remove logica trans…
AnaPerola Aug 27, 2024
d1cb921
Ajusta forma de verificar se aluno está enturmado na data
AnaPerola Aug 27, 2024
039d734
Ajusta interação sobre as matriculas
AnaPerola Aug 27, 2024
da48ca0
Ajusta parametro para buscar alunos enturmados na data
AnaPerola Aug 27, 2024
675f556
Ajusta forma de capturar alunos dispensados para melhorar performance
AnaPerola Aug 29, 2024
19ed317
Corrige busca de alunos em ativos na data e dispensados da disciplina
AnaPerola Aug 29, 2024
c885053
Ajusta forma de verificar se aluno esta enturmado na data
AnaPerola Sep 2, 2024
1397a85
Armazena ids de estudantes enturmados para filtrar frequencias
AnaPerola Sep 3, 2024
f8d5c78
Insere includes para evitar N+1
AnaPerola Sep 3, 2024
898b414
Cria métodos para simplificar a logica
AnaPerola Sep 3, 2024
317e769
Implementa memorize para evitar várias consultas
AnaPerola Sep 3, 2024
fca881d
Implementa memorize para evitar várias consultas
AnaPerola Sep 3, 2024
a4fcb19
Refatora testes após a ajuste do relatorio
AnaPerola Sep 3, 2024
9f008ef
Altera range de datas de acordo com calendario letivo
AnaPerola Sep 5, 2024
fbf4943
Inverte a base da hash para ser por data de enturmação ao inves de da…
AnaPerola Sep 5, 2024
4598a37
Inverte tipo recebimento de inteiro para hash
AnaPerola Sep 5, 2024
9be3081
Merge pull request #4643 from portabilis/issue-4839
AnaPerola Sep 5, 2024
e4fcc9b
Corgige envio de id para referenciar ao ieducar
AnaPerola Sep 9, 2024
4e9472a
Insere uma chave student_ids na hash de enturmações para melhorar fut…
AnaPerola Sep 9, 2024
1cab85f
Cria cenários de teste
AnaPerola Sep 10, 2024
8060356
Ajusta valor como hash vazia caso não tenha frequencias na turma
AnaPerola Sep 10, 2024
070401c
Ajusta as variaveis nos testes
AnaPerola Sep 10, 2024
be60b00
Ajusta cenários de teste e insere titulos para melhorar legibilidade
AnaPerola Sep 10, 2024
c7e13b3
Ajusta e remove comentário
AnaPerola Sep 10, 2024
0562fc4
Cria cenários de teste com mais turmas
AnaPerola Sep 10, 2024
4741e24
Ajusta context e define id das váriaveis para evitar erro de ordenação
AnaPerola Sep 10, 2024
904527f
Remove breakpoiint
AnaPerola Sep 10, 2024
b476cae
Ajusta titulo dos cenários e corrige retorno esperado da regra de neg…
AnaPerola Sep 10, 2024
13a2693
Ajustes simples nos cenarios de teste
AnaPerola Sep 11, 2024
877e343
Cria cenário de frequencias por disciplina para validar a soma
AnaPerola Sep 11, 2024
36eb0bb
Remove utilização de query e manipula dados em memoria
AnaPerola Sep 11, 2024
b700727
Ajusta comentários
AnaPerola Sep 11, 2024
24546ff
Considera apenas frequencias globais ao fazer o somatorio
AnaPerola Sep 11, 2024
7bba8d6
Valida se existe valor antes de aplicar uniq
AnaPerola Sep 11, 2024
a525a42
Altera apenas ordenação dos cenários de teste
AnaPerola Sep 11, 2024
381ce35
Remove contagem de frequencias na memoria e manipula sql
AnaPerola Sep 12, 2024
c010272
Melhora legibilidade do codigo transferindo a responsabilidade para o…
AnaPerola Sep 12, 2024
7cd9a9a
Muda método de local
AnaPerola Sep 12, 2024
f481e03
Melhora nomeclatura e transfere responsabilidade para métodos
AnaPerola Sep 12, 2024
8b8c95a
Ajusta nomeclatura de cenários de teste para melhorar legibilidade
AnaPerola Sep 12, 2024
f9eb346
Tansforma em variavel global para acionar o memorize
AnaPerola Sep 12, 2024
f6d4a73
Renomeia cenários de teste para o singular
AnaPerola Sep 13, 2024
00ec49f
Aplica ajustes indicados no CR
AnaPerola Sep 13, 2024
6ec0dcb
Aplica squish como indicação do rubocop
AnaPerola Sep 13, 2024
60f315c
Quebra linha
AnaPerola Sep 13, 2024
aef06f0
Aplica ajustes indicados no CR
AnaPerola Sep 13, 2024
9c258da
Ajusta identação
AnaPerola Sep 13, 2024
39973c9
Update app/services/api/classroom_attendance_service.rb
MarceloCajueiro Sep 13, 2024
f9d0f2e
Merge pull request #4645 from portabilis/issue-4925-1
AnaPerola Sep 16, 2024
0870cac
Verifica qual disciplina o aluno está dispensado
AnaPerola Sep 17, 2024
b98f3dd
Ajusta variaveis e cria novos cenários de teste
AnaPerola Sep 17, 2024
ab4348d
Aplica melhorias citadas no CR para melhorar performance
AnaPerola Sep 17, 2024
0dcd15f
Remove a captura apenas da primeira dispensa e troca equal por includes
AnaPerola Sep 17, 2024
a53e188
Ajusta identação
AnaPerola Sep 17, 2024
31971f2
Ajusta nomeclatura de variaveis
AnaPerola Sep 18, 2024
229bfcb
Realiza apenas um pluck para melhorar a performance
AnaPerola Sep 18, 2024
006f558
Merge pull request #4639 from portabilis/issue-4740
AnaPerola Sep 19, 2024
cbd3c32
Merge pull request #4644 from portabilis/issue-4904
AnaPerola Sep 19, 2024
29ca7ff
Merge branch 'main' into portabilis-patch-2024-09-24
AnaPerola Sep 24, 2024
c3e7ec5
Merge branch '1.6' into portabilis-patch-2024-09-24
AnaPerola Sep 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions app/assets/javascripts/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ $(function(){

$('.remote .pagination a').on('click',
function() {
var onPageChange = new CustomEvent('onPageChange');
document.dispatchEvent(onPageChange);

$.getScript(this.href);
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ $(function () {

var $unity = $('#discipline_teaching_plan_teaching_plan_attributes_unity_id');
var $grade = $('#discipline_teaching_plan_teaching_plan_attributes_grade_id');
var $year =$('#discipline_teaching_plan_teaching_plan_attributes_year');
var $discipline = $('#discipline_teaching_plan_discipline_id');
var $schoolTermType = $('#discipline_teaching_plan_teaching_plan_attributes_school_term_type_id');
var $schoolTermContainer = $('#school-term-container');
Expand All @@ -16,6 +17,7 @@ $(function () {
function fetchDisciplines() {
var unity_id = $unity.select2('val');
var grade_id = $grade.select2('val');
var year = $year.val();

$discipline.select2('val', '');
$discipline.select2({ data: [] });
Expand All @@ -25,6 +27,7 @@ $(function () {
url: Routes.search_by_grade_and_unity_disciplines_pt_br_path({
by_unity_id: unity_id,
by_grade: grade_id,
year: year,
format: 'json'
}),
success: handleFetchDisciplinesSuccess,
Expand Down
13 changes: 12 additions & 1 deletion app/assets/javascripts/views/observation_record_report/form.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ $(function () {
return { id: discipline.table.id, name: discipline.table.name, text: discipline.table.text };
});

selectedDisciplines.unshift({ id: 'all', name: '<option>Todas</option>', text: 'Todas' });
if (selectedDisciplines.length > 1) {
selectedDisciplines.unshift({ id: 'all', name: '<option>Todas</option>', text: 'Todas' });
}

$discipline.select2({ data: selectedDisciplines });
}
Expand All @@ -95,4 +97,13 @@ $(function () {
$classroom.val('').select2({ data: [] });
$discipline.val('').select2({ data: [] });
}

$('form').submit(function () {
var tempoEspera = 2000;

// Define um timeout para habilitar o botão após o tempo de espera
setTimeout(function () {
$('#btn-submit').prop('disabled', false);
}, tempoEspera);
});
});
28 changes: 21 additions & 7 deletions app/assets/javascripts/views/users/index.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,39 @@
$(function() {
var selected = [];

$(document).on('click', 'ul.pagination > li > a', function(e) {
var onPageChange = new CustomEvent('onPageChange');
document.dispatchEvent(onPageChange);
});

document.addEventListener("onPageChange", function (e) {
$("#select-all").prop("checked", false)
})

$('body').on('change', '.selected_users', function(event) {
selected = [];
$('.selected_users:checked').each(function() {
selected.push($(this).attr('value'));
});
selected = $('#export_selected_selected_users').val().split(",");

if ($(this).prop('checked')) {
selected.push($(this).attr('value'))
} else {
selected.pop($(this).attr('value'))
}

$('#export_selected_selected_users').val(selected);
});

$('body').on('change', '#select-all', function(e) {
selected = [];
selected = $('#export_selected_selected_users').val().split(",");

$('.selected_users:checked').each(function() {
if (!_.contains(selected, $(this).attr('value'))) {
if (!_.includes(selected, $(this).attr('value'))) {
selected.push($(this).attr('value'));
}
$('#export_selected_selected_users').val(selected);
});

$('.selected_users').each(function() {
if (!_.contains(selected, $(this).attr('value'))) {
if (!_.includes(selected, $(this).attr('value'))) {
selected.pop($(this).attr('value'));
}
$('#export_selected_selected_users').val(selected);
Expand Down
29 changes: 29 additions & 0 deletions app/controllers/api/v2/list_attendances_by_classroom_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
module Api
module V2
class ListAttendancesByClassroomController < Api::V2::BaseController
respond_to :json

def index
required_params = %i[classrooms start_at end_at year]
missing_params = validate_required_params(required_params)

return if missing_params

classrooms_api_code = params[:classrooms]
start_at = params[:start_at]
end_at = params[:end_at]
year = params[:year]

render json: ClassroomAttendanceService.call(classrooms_api_code, start_at, end_at, year)
end

def validate_required_params(required_params)
missing_params = required_params.select { |param| params[param].blank? }

return false unless missing_params.any?

render json: { error: "Os seguintes parâmetros são obrigatórios: #{missing_params.join(', ')}" }, status: :unprocessable_entity
end
end
end
end
30 changes: 30 additions & 0 deletions app/controllers/api/v2/student_classroom_attendances_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
module Api
module V2
class StudentClassroomAttendancesController < Api::V2::BaseController
respond_to :json
def index
required_params = %i[classroom_id start_at end_at year student_ids]
missing_params = validate_required_params(required_params)

return if missing_params
classroom_api_code = params[:classroom_id]
start_at = params[:start_at]
end_at = params[:end_at]
year = params[:year]
students_api_code = params[:student_ids]

render json: ListStudentAttendancesByClassroomService.call(
classroom_api_code, start_at, end_at, year, students_api_code
)
end

def validate_required_params(required_params)
missing_params = required_params.select { |param| params[param].blank? }

return false unless missing_params.any?

render json: { error: "Os seguintes parâmetros são obrigatórios: #{missing_params.join(', ')}" }, status: :unprocessable_entity
end
end
end
end
52 changes: 38 additions & 14 deletions app/controllers/avaliation_recovery_diary_records_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def index

authorize @avaliation_recovery_diary_records

@school_calendar_steps = current_school_calendar.steps
@school_calendar_steps = steps_fetcher.steps
end

def new
Expand All @@ -25,7 +25,7 @@ def new
@avaliation_recovery_diary_record.recovery_diary_record.discipline = current_user_discipline

@unities = fetch_unities
@school_calendar_steps = current_school_calendar.steps
@school_calendar_steps = steps_fetcher.steps

fetch_disciplines_by_classroom

Expand Down Expand Up @@ -74,7 +74,7 @@ def edit

@student_notes = fetch_student_notes
@unities = fetch_unities
@school_calendar_steps = current_school_calendar.steps
@school_calendar_steps = steps_fetcher.steps
@avaliations = fetch_avaliations
reload_students_list

Expand Down Expand Up @@ -128,10 +128,12 @@ def destroy
def fetch_avaliation_recovery_diary_records_by_user
@avaliation_recovery_diary_records =
apply_scopes(AvaliationRecoveryDiaryRecord)
.select('DISTINCT ON (avaliation_recovery_diary_records.id, recovery_diary_records.recorded_at) avaliation_recovery_diary_records.*')
.includes(:avaliation, recovery_diary_record: [:unity, :classroom, :discipline])
.by_unity_id(current_unity.id)
.by_classroom_id(@classrooms.map(&:id))
.by_discipline_id(@disciplines.map(&:id))
.by_teacher_id(current_teacher.id)
.ordered
end

Expand Down Expand Up @@ -241,7 +243,9 @@ def reload_students_list
note_student = recovery_student || recovery_diary_record.students.build(student_id: student.id, student: student)
note_student.dependence = student_has_dependence?(student_enrollment, @avaliation_recovery_diary_record.recovery_diary_record.discipline)
note_student.active = student_active_on_date?(student_enrollment)
note_student.exempted_from_discipline = student_exempted_from_discipline?(student_enrollment, recovery_diary_record, @avaliation_recovery_diary_record)
note_student.exempted_from_discipline = student_exempted_from_discipline?(
student_enrollment, recovery_diary_record, @avaliation_recovery_diary_record
)

@students << note_student
end
Expand Down Expand Up @@ -287,11 +291,23 @@ def student_exempted_from_discipline?(student_enrollment, recovery_diary_record,

discipline_id = recovery_diary_record.discipline.id
test_date = avaliation_recovery_diary_record.avaliation.test_date
step_number = avaliation_recovery_diary_record.avaliation.school_calendar.step(test_date).to_number

student_enrollment.exempted_disciplines.by_discipline(discipline_id)
.by_step_number(step_number)
.any?
step_number = fetch_step_number(avaliation_recovery_diary_record, recovery_diary_record.classroom_id, test_date)

student_enrollment.exempted_disciplines
.by_discipline(discipline_id)
.by_step_number(step_number)
.any?
end

def fetch_step_number(avaliation_recovery_diary_record, classroom_id, date)
school_calendar = avaliation_recovery_diary_record.avaliation.school_calendar

school_calendar_classroom = school_calendar.classrooms.find_by_classroom_id(classroom_id)

return school_calendar_classroom.classroom_step(date) if school_calendar_classroom.present?

school_calendar.step(date).to_number
end

def any_student_exempted_from_discipline?
Expand All @@ -317,12 +333,10 @@ def list_students_by_active(resource_params_hash)
end

def set_options_by_user
if current_user.current_role_is_admin_or_employee?
@classrooms ||= fetch_classrooms
@disciplines ||= fetch_disciplines
else
fetch_linked_by_teacher
end
return fetch_linked_by_teacher unless current_user.current_role_is_admin_or_employee?

@classrooms ||= fetch_classrooms
@disciplines ||= fetch_disciplines
end

def fetch_linked_by_teacher
Expand All @@ -337,4 +351,14 @@ def fetch_disciplines_by_classroom
classroom = @avaliation_recovery_diary_record.recovery_diary_record.classroom
@disciplines = @disciplines.by_classroom(classroom).not_descriptor
end

def steps_fetcher
classroom = if @avaliation_recovery_diary_record.present?
@avaliation_recovery_diary_record.recovery_diary_record.classroom
else
current_user_classroom
end

@steps_fetcher ||= StepsFetcher.new(classroom)
end
end
8 changes: 7 additions & 1 deletion app/controllers/daily_note_students_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,13 @@ def fetch_student_enrollments(classroom, avaliation, discipline, date)
def student_exempted_from_discipline?(student_enrollment, daily_note)
discipline_id = daily_note.discipline.id
test_date = daily_note.avaliation.test_date
step_number = daily_note.avaliation.school_calendar.step(test_date).to_number
classroom = daily_note.classroom

step_number = if classroom.calendar.present?
classroom.calendar.classroom_step(test_date).to_number
else
daily_note.avaliation.school_calendar.step(test_date).to_number
end

student_enrollment.exempted_disciplines.by_discipline(discipline_id)
.by_step_number(step_number)
Expand Down
Loading
Loading