mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-13 01:10:39 -07:00
feat: Add parent button to overview page and alter 'School Quality Framework Indicators' section to show parent scales
This commit is contained in:
parent
55aba4b2ba
commit
d0340c8a52
25 changed files with 533 additions and 224 deletions
|
|
@ -1,42 +1,19 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class OverviewController < SqmApplicationController
|
||||
before_action :check_empty_dataset, only: [:index]
|
||||
helper VarianceHelper
|
||||
|
||||
def index
|
||||
@variance_chart_row_presenters = measures.map(&method(:presenter_for_measure))
|
||||
@category_presenters = categories.map { |category| CategoryPresenter.new(category:) }
|
||||
@student_response_rate_presenter = ResponseRatePresenter.new(focus: :student, school: @school,
|
||||
academic_year: @academic_year)
|
||||
@teacher_response_rate_presenter = ResponseRatePresenter.new(focus: :teacher, school: @school,
|
||||
academic_year: @academic_year)
|
||||
end
|
||||
@page = if params[:view] == "student" || params[:view].nil?
|
||||
Overview::OverviewPresenter.new(params:, school: @school, academic_year: @academic_year)
|
||||
else
|
||||
Overview::ParentOverviewPresenter.new(params:, school: @school, academic_year: @academic_year)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def presenter_for_measure(measure)
|
||||
score = measure.score(school: @school, academic_year: @academic_year)
|
||||
|
||||
VarianceChartRowPresenter.new(measure:, score:)
|
||||
end
|
||||
|
||||
def check_empty_dataset
|
||||
@has_empty_dataset = subcategories.none? do |subcategory|
|
||||
response_rate = subcategory.response_rate(school: @school, academic_year: @academic_year)
|
||||
response_rate.meets_student_threshold || response_rate.meets_teacher_threshold
|
||||
end
|
||||
end
|
||||
|
||||
def measures
|
||||
@measures ||= subcategories.flat_map(&:measures)
|
||||
end
|
||||
|
||||
def subcategories
|
||||
@subcategories ||= categories.flat_map(&:subcategories)
|
||||
end
|
||||
|
||||
def categories
|
||||
@categories ||= Category.sorted.includes(%i[measures scales admin_data_items subcategories])
|
||||
@has_empty_dataset = @page.empty_dataset?
|
||||
@variance_chart_row_presenters = @page.variance_chart_row_presenters
|
||||
@category_presenters = @page.category_presenters
|
||||
@student_response_rate_presenter = @page.student_response_rate_presenter
|
||||
@teacher_response_rate_presenter = @page.teacher_response_rate_presenter
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue