mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-08 23:18:18 -07:00
Implement bullet suggestions and cache overview graph
This commit is contained in:
parent
7a9830915b
commit
a134de3fdd
5 changed files with 17 additions and 8 deletions
|
|
@ -6,7 +6,7 @@ class AnalyzeController < SqmApplicationController
|
|||
@subcategory ||= Subcategory.find_by_subcategory_id(params[:subcategory_id])
|
||||
@subcategory ||= Subcategory.find_by_subcategory_id('1A')
|
||||
|
||||
@measure = @subcategory.measures.first
|
||||
@measure = @subcategory.measures.includes([:admin_data_items]).first
|
||||
@academic_year ||= AcademicYear.order('range DESC').first
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ class OverviewController < SqmApplicationController
|
|||
helper VarianceHelper
|
||||
|
||||
def index
|
||||
@variance_chart_row_presenters = Measure.all.map(&method(:presenter_for_measure))
|
||||
@variance_chart_row_presenters = measures.map(&method(:presenter_for_measure))
|
||||
@category_presenters = Category.sorted.map { |category| CategoryPresenter.new(category:) }
|
||||
end
|
||||
|
||||
|
|
@ -16,8 +16,13 @@ class OverviewController < SqmApplicationController
|
|||
end
|
||||
|
||||
def check_empty_dataset
|
||||
@has_empty_dataset = Measure.all.all? do |measure|
|
||||
@has_empty_dataset = measures.all? do |measure|
|
||||
measure.none_meet_threshold? school: @school, academic_year: @academic_year
|
||||
end
|
||||
end
|
||||
|
||||
def measures
|
||||
@measures ||= Measure.all.includes(%i[scales admin_data_items subcategory
|
||||
category]).includes(subcategory: :measures)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
class Measure < ActiveRecord::Base
|
||||
belongs_to :subcategory
|
||||
has_one :category, through: :subcategory
|
||||
has_many :scales
|
||||
has_many :admin_data_items, through: :scales
|
||||
has_many :survey_items, through: :scales
|
||||
|
|
@ -94,13 +95,14 @@ class Measure < ActiveRecord::Base
|
|||
def sufficient_student_data?(school:, academic_year:)
|
||||
return false unless includes_student_survey_items?
|
||||
|
||||
subcategory.student_response_rate(school:, academic_year:).meets_student_threshold?
|
||||
@sufficient_student_data ||= subcategory.student_response_rate(school:,
|
||||
academic_year:).meets_student_threshold?
|
||||
end
|
||||
|
||||
def sufficient_teacher_data?(school:, academic_year:)
|
||||
return false unless includes_teacher_survey_items?
|
||||
|
||||
subcategory.teacher_response_rate(school:, academic_year:).meets_teacher_threshold?
|
||||
@sufficient_teacher_data ||= subcategory.teacher_response_rate(school:, academic_year:).meets_teacher_threshold?
|
||||
end
|
||||
|
||||
def all_admin_data_collected?(school:, academic_year:)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class VarianceChartRowPresenter
|
|||
@meets_student_threshold = score.meets_student_threshold?
|
||||
@measure_name = @measure.name
|
||||
@measure_id = @measure.measure_id
|
||||
@category = @measure.subcategory.category
|
||||
@category = @measure.category
|
||||
end
|
||||
|
||||
def sufficient_data?
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
</symbol>
|
||||
</svg>
|
||||
|
||||
<% cache [@school, @academic_year] do %>
|
||||
<div class="card">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h2 class="sub-header-2">School Quality Framework Indicators</h2>
|
||||
|
|
@ -88,14 +89,15 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<%= render partial: "quality_framework_indicators", locals: { category_presenters: @category_presenters } %>
|
||||
<%= render partial: "quality_framework_indicators", locals: { category_presenters: @category_presenters }, cached: true %>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2 class="sub-header-2 mb-4">Distance From Benchmark</h2>
|
||||
|
||||
<%= render partial: "variance_chart", locals: { presenters: @variance_chart_row_presenters } %>
|
||||
<%= render partial: "variance_chart", locals: { presenters: @variance_chart_row_presenters } , cached: true %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if @district == District.find_by_name("Boston") %>
|
||||
<%= render partial: 'layouts/boston_modal' %>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue