mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
45 lines
1 KiB
Ruby
45 lines
1 KiB
Ruby
class DashboardController < ApplicationController
|
|
def index
|
|
authenticate(district.name.downcase, "#{district.name.downcase}!")
|
|
@measure_graph_row_presenters = measure_ids
|
|
.map { |measure_id| Measure.find_by_measure_id measure_id }
|
|
.map(&method(:presenter_for_measure))
|
|
.sort().reverse
|
|
end
|
|
|
|
private
|
|
|
|
def measure_ids
|
|
Measure.all.map {|measure |
|
|
measure.measure_id
|
|
}
|
|
end
|
|
|
|
def presenter_for_measure(measure)
|
|
MeasureGraphRowPresenter.new(
|
|
measure: measure,
|
|
score: SurveyResponseAggregator.score(school: school, academic_year: academic_year, measure: measure)
|
|
)
|
|
end
|
|
|
|
def school
|
|
@school ||= School.find_by_slug school_slug
|
|
end
|
|
|
|
def district
|
|
@district ||= District.find_by_slug district_slug
|
|
end
|
|
|
|
def district_slug
|
|
params[:district_id]
|
|
end
|
|
|
|
def school_slug
|
|
params[:school_id]
|
|
end
|
|
|
|
def academic_year
|
|
@academic_year ||= AcademicYear.find_by_range params[:year]
|
|
end
|
|
|
|
end
|