From edbd03505d09d7baf9772b4a8b8b7b085509cd6e Mon Sep 17 00:00:00 2001 From: AnaPerola Date: Fri, 7 Jun 2024 16:15:24 -0300 Subject: [PATCH 1/6] =?UTF-8?q?informa=20segundo=20parametro=20necess?= =?UTF-8?q?=C3=A1rio=20para=20o=20escopo=20ser=20executado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/disciplines_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/disciplines_controller.rb b/app/controllers/disciplines_controller.rb index 7191319e0..723dcd286 100644 --- a/app/controllers/disciplines_controller.rb +++ b/app/controllers/disciplines_controller.rb @@ -76,7 +76,7 @@ def disciplines_to_select2(classroom_id) .not_descriptor if current_user.teacher? - disciplines = disciplines.by_teacher_id(current_teacher.id) + disciplines = disciplines.by_teacher_id(current_teacher.id, current_school_year) end disciplines.map do |discipline| From 0ec9a3f52aebc5f67d5ae6e1808a7b36982f0f80 Mon Sep 17 00:00:00 2001 From: AnaPerola Date: Fri, 14 Jun 2024 11:05:45 -0300 Subject: [PATCH 2/6] =?UTF-8?q?Captura=20enturma=C3=A7=C3=B5es=20que=20est?= =?UTF-8?q?iverem=20dentro=20do=20range=20de=20datas=20do=20relatorio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/student_enrollment_classrooms_retriever.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/services/student_enrollment_classrooms_retriever.rb b/app/services/student_enrollment_classrooms_retriever.rb index b19b38662..74ffe6500 100644 --- a/app/services/student_enrollment_classrooms_retriever.rb +++ b/app/services/student_enrollment_classrooms_retriever.rb @@ -99,7 +99,9 @@ def search_by_search_type(enrollment_classrooms) def reject_duplicated_students(enrollment_classrooms) return enrollment_classrooms if show_inactive_enrollments - last_student_classroom = enrollment_classrooms.select{ |ec| ec.left_at.blank? } + last_student_classroom = enrollment_classrooms.select do |ec| + ec.left_at.blank? || ec.left_at.to_date.between?(start_at.to_date, end_at.to_date) + end end def show_inactive_enrollments From 937c7e68252e2acf84316d62fcc5c0be6ecae880 Mon Sep 17 00:00:00 2001 From: AnaPerola Date: Wed, 19 Jun 2024 13:18:29 -0300 Subject: [PATCH 3/6] =?UTF-8?q?Remove=20cen=C3=A1rio=20de=20teste=20e=20co?= =?UTF-8?q?mentario=20n=C3=A3o=20necess=C3=A1rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...student_enrollment_classrooms_retriever.rb | 1 - ...nt_enrollment_classrooms_retriever_spec.rb | 66 +------------------ 2 files changed, 1 insertion(+), 66 deletions(-) diff --git a/app/services/student_enrollment_classrooms_retriever.rb b/app/services/student_enrollment_classrooms_retriever.rb index 74ffe6500..325fe3d36 100644 --- a/app/services/student_enrollment_classrooms_retriever.rb +++ b/app/services/student_enrollment_classrooms_retriever.rb @@ -44,7 +44,6 @@ def call enrollment_classrooms = search_by_dates(enrollment_classrooms) if include_date_range - # Nao filtra as enturmacoes caso municipio tenha DATABASE if enrollment_classrooms.show_as_inactive.blank? enrollment_classrooms = search_by_search_type(enrollment_classrooms) enrollment_classrooms = reject_duplicated_students(enrollment_classrooms) diff --git a/spec/services/student_enrollment_classrooms_retriever_spec.rb b/spec/services/student_enrollment_classrooms_retriever_spec.rb index 750fd7983..0c42e42f6 100644 --- a/spec/services/student_enrollment_classrooms_retriever_spec.rb +++ b/spec/services/student_enrollment_classrooms_retriever_spec.rb @@ -282,7 +282,7 @@ end end - describe 'when the client works with DATA BASE' do + describe 'when the client works or not with DATA BASE' do before do # DATA BASE=(show_as_inactive_when_not_in_date:TRUE) create_student_enrollment_classrooms_with_status_and_date_base @@ -347,70 +347,6 @@ end end - describe 'when the client does not works with DATA BASE' do - before do - # DATA BASE=(show_as_inactive_when_not_in_date:FALSE) - create_student_enrollment_classrooms_with_status_without_date_base - end - - context 'and show_inactive checkbox is enabled in settings' do - before do - GeneralConfiguration.current.update(show_inactive_enrollments: true) - end - - subject(:list_student_enrollment_classrooms) { - StudentEnrollmentClassroomsRetriever.call( - search_type: :by_date_range, - classrooms: classroom_grade.classroom_id, - disciplines: discipline, - start_at: '2023-03-03', - end_at: '2023-06-03' - ) - } - - let!(:status) { - list_student_enrollment_classrooms.map { |ec| - ec[:student_enrollment_classroom].student_enrollment.status - }.uniq - } - - it 'should return student_enrollment_classrooms with all status' do - transferred = @enrollment_classroom_inactive.student_enrollment.status - studying = @enrollment_classroom_active.student_enrollment.status - - expect(status).to match_array([studying, transferred]) - end - end - - context 'and show_inactive checkbox is not enabled in settings' do - before do - GeneralConfiguration.current.update(show_inactive_enrollments: false) - end - - subject(:list_student_enrollment_classrooms) { - StudentEnrollmentClassroomsRetriever.call( - search_type: :by_date_range, - classrooms: classroom_grade.classroom_id, - disciplines: discipline, - start_at: '2023-03-03', - end_at: '2023-06-03' - ) - } - - let!(:status) { - list_student_enrollment_classrooms.map { |ec| - ec[:student_enrollment_classroom].student_enrollment.status - }.uniq - } - - it 'should return student_enrollment_classrooms with all status' do - studying = @enrollment_classroom_active.student_enrollment.status - - expect(status).to match_array([studying]) - end - end - end - context 'when grade params exist' do let!(:classroom_grade_without_liked) { create(:classrooms_grade) } From 1f2d3fcdff191e7ef6c4978366c022087ddc4e58 Mon Sep 17 00:00:00 2001 From: AnaPerola Date: Fri, 21 Jun 2024 10:11:36 -0300 Subject: [PATCH 4/6] Remove raise e retorna apenas uma mensagem na tela caso haja erro --- app/services/user_by_csv_creator.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/services/user_by_csv_creator.rb b/app/services/user_by_csv_creator.rb index d9b513e22..078d2cc94 100644 --- a/app/services/user_by_csv_creator.rb +++ b/app/services/user_by_csv_creator.rb @@ -40,6 +40,7 @@ def file_not_found end def create_users(entity) + errors = [] ActiveRecord::Base.transaction do CSV.foreach(file, col_sep: ',', skip_blanks: true) do |new_user| User.find_or_initialize_by(login: new_user[3]).tap do |user| @@ -59,9 +60,10 @@ def create_users(entity) first_name: new_user[0], last_name: new_user[1]) - user.save if user.changed? - - raise invalid_user_error(user) if user.errors.any? + if user.changed? && !user.save + errors << invalid_user_error(user) + next + end if set_admin_role(user) && send_mail UserMailer.delay.by_csv(user.login, user.first_name, user.email, password, entity.domain) @@ -70,11 +72,9 @@ def create_users(entity) end true end + errors.empty? || puts(errors.join("\n")) rescue ActiveRecord::RecordInvalid false - rescue InvalidUserError => e - puts e.message - false end def set_admin_role(user) @@ -103,6 +103,6 @@ def error end def invalid_user_error(user) - raise InvalidUserError, "Não foi possivel criar os usuarios devido ao erro #{user.errors.messages} para o usuario #{user.login}" + "Não foi possivel criar os usuarios devido ao erro #{user.errors.messages} para o usuario #{user.login}" end end From 5af0ae7a4888891d41b31f3ea2a6a0d0dd2dda17 Mon Sep 17 00:00:00 2001 From: AnaPerola Date: Sat, 22 Jun 2024 18:16:48 -0300 Subject: [PATCH 5/6] Adiciona safeNavigation para evitar setar atributo em objeto nil --- app/controllers/application_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 04f32c575..93a56ddcd 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -286,7 +286,7 @@ def teacher_discipline_score_type_by_exam_rule(exam_rule, classroom = nil, disci classroom: classroom, teacher: current_teacher, discipline: discipline - ).score_type + )&.score_type end def set_user_current From 40c083a24bb7f21ae770b9fbe567a9d875ef550d Mon Sep 17 00:00:00 2001 From: AnaPerola Date: Wed, 26 Jun 2024 11:37:48 -0300 Subject: [PATCH 6/6] Filtra apenas as escolas que tiverem planos de ensino --- app/controllers/api/v2/teaching_plans_controller.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/v2/teaching_plans_controller.rb b/app/controllers/api/v2/teaching_plans_controller.rb index 6e7136f32..a0cd8e03c 100644 --- a/app/controllers/api/v2/teaching_plans_controller.rb +++ b/app/controllers/api/v2/teaching_plans_controller.rb @@ -6,7 +6,10 @@ class TeachingPlansController < Api::V2::BaseController def index return unless params[:teacher_id] - @unities = Unity.by_teacher(params[:teacher_id]).ordered.uniq + @unities = Unity.by_teacher(params[:teacher_id]).ordered.distinct + @unities = @unities.select do |unity| + TeachingPlan.by_unity_id(unity.id).exists? + end @teacher_id = params[:teacher_id] end end