diff --git a/app/helpers/analyze_helper.rb b/app/helpers/analyze_helper.rb index 243c55ae..ddcdef1b 100644 --- a/app/helpers/analyze_helper.rb +++ b/app/helpers/analyze_helper.rb @@ -42,7 +42,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 + response_rate.meets_student_threshold || response_rate.meets_teacher_threshold || measure.sufficient_admin_data?(school:, academic_year:) end end diff --git a/app/models/measure.rb b/app/models/measure.rb index 6b7d2bd2..e950d35d 100644 --- a/app/models/measure.rb +++ b/app/models/measure.rb @@ -116,6 +116,10 @@ class Measure < ActiveRecord::Base @ideal_low_benchmark ||= benchmark(:ideal_low_benchmark) end + def sufficient_admin_data?(school:, academic_year:) + any_admin_data_collected?(school:, academic_year:) + end + private def any_admin_data_collected?(school:, academic_year:) @@ -157,7 +161,7 @@ class Measure < ActiveRecord::Base def collect_admin_scale_average(admin_data_items:, school:, academic_year:) @collect_admin_scale_average ||= Hash.new do |memo, (admin_data_items, school, academic_year)| memo[[admin_data_items, school, academic_year]] = begin - admin_values = AdminDataValue.where(school:, academic_year:) + admin_values = AdminDataValue.where(school:, academic_year:, admin_data_item: admin_data_items) admin_values.map do |admin_value| admin_value.likert_score if admin_value.present? end diff --git a/app/presenters/analyze/graph/column/grouped_bar_column_presenter.rb b/app/presenters/analyze/graph/column/grouped_bar_column_presenter.rb index 3369e495..3b0700c8 100644 --- a/app/presenters/analyze/graph/column/grouped_bar_column_presenter.rb +++ b/app/presenters/analyze/graph/column/grouped_bar_column_presenter.rb @@ -44,7 +44,7 @@ module Analyze end def show_irrelevancy_message? - !measure.includes_teacher_survey_items? && !measure.includes_student_survey_items? + false end def show_insufficient_data_message? @@ -52,7 +52,9 @@ module Analyze measure.score(school:, academic_year: year) end - scores.all? { |score| !score.meets_teacher_threshold? && !score.meets_student_threshold? } + scores.all? do |score| + !score.meets_teacher_threshold? && !score.meets_student_threshold? && !score.meets_admin_data_threshold? + end end def column_midpoint @@ -109,7 +111,7 @@ module Analyze YearlyScore = Struct.new(:year, :score) def yearly_scores yearly_scores = academic_years.each_with_index.map do |year, index| - YearlyScore.new(year, score(index)) + YearlyScore.new(year, score(index)) end yearly_scores.reject do |yearly_score| yearly_score.score.blank?