diff --git a/app/helpers/analyze_helper.rb b/app/helpers/analyze_helper.rb index d2462e84..47bcf15a 100644 --- a/app/helpers/analyze_helper.rb +++ b/app/helpers/analyze_helper.rb @@ -46,7 +46,7 @@ module AnalyzeHelper @empty_dataset ||= Hash.new do |memo, (school, academic_year)| memo[[school, academic_year]] = measures.none? do |measure| response_rate = measure.subcategory.response_rate(school:, academic_year:) - response_rate.meets_student_threshold || response_rate.meets_teacher_threshold || measure.sufficient_admin_data?(school:, academic_year:) + response_rate.meets_student_threshold || response_rate.meets_teacher_threshold || measure.sufficient_admin_data?(school:, academic_year:) || SurveyItemResponse.where(school:, academic_year:, survey_item: measures.flat_map(&:parent_survey_items)).count > 10 end end @@ -63,8 +63,12 @@ module AnalyzeHelper @empty_survey_dataset[[school, academic_year]] end + def empty_parent_dataset?(measures:, school:, academic_year:) + SurveyItemResponse.where(school:, academic_year:, survey_item: measures.flat_map(&:parent_survey_items)).count < 10 + end + def base_url analyze_subcategory_link(district: @district, school: @school, academic_year: @academic_year, category: @presenter.category, - subcategory: @presenter.subcategory) + subcategory: @presenter.subcategory) end end diff --git a/app/views/analyze/_school_years.html.erb b/app/views/analyze/_school_years.html.erb index 3b7b432a..9f0a4c6c 100644 --- a/app/views/analyze/_school_years.html.erb +++ b/app/views/analyze/_school_years.html.erb @@ -21,8 +21,13 @@ <%= selected_academic_years.include?(year) ? "checked" : "" %> <% empty_dataset = empty_dataset?(measures: measures, school: school, academic_year: year) %> <% empty_survey_dataset = empty_survey_dataset?(measures: measures, school: school, academic_year: year) %> + <% empty_parent_dataset = empty_parent_dataset?(measures: measures, school: school, academic_year: year) %> <% if graph.slug == 'all-data' %> <%= empty_dataset ? "disabled" : "" %> + <% elsif graph.slug.starts_with?('parents-by') %> + <%= empty_parent_dataset ? "disabled" : "" %> + <% elsif graph.slug.starts_with?('students-and-teachers-and-parents') %> + <%= empty_parent_dataset && empty_survey_dataset ? "disabled" : "" %> <% else %> <%= empty_survey_dataset ? "disabled" : "" %> <% end %> @@ -32,14 +37,23 @@ <% if graph.slug == 'all-data' && empty_dataset %> + data-bs-content="No admin data OR teacher and student survey response rates below <%= ResponseRateCalculator::TEACHER_RATE_THRESHOLD %>% OR no parent responses"> - <% end %> - <% if graph.slug != 'all-data' && empty_survey_dataset %> + <% elsif graph.slug == 'students-and-teachers-and-parents' && (empty_survey_dataset && empty_parent_dataset )%> + + + <% elsif graph.slug != 'students-and-teachers-and-parents' && graph.slug.starts_with?('student') && empty_survey_dataset %> + <% elsif graph.slug.starts_with?('parent') && empty_parent_dataset %> + + <% end %> <% end %>