mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 21:48:16 -08:00
initialized with a season, i.e. "2024-25 Fall". Update scapers for admin data, enrollment and staffing to use the new range standard correctly. Update the loaders for admin data, enrollment and staffing so that it populates all seasons in a given year. So admin data for 2024-25 gets loaded into "2024-25 Fall" and "2024-25 Spring". Add tests for the new range format. Set the default cutoff for the start of Spring season will be the last Sunday in February
177 lines
4.4 KiB
Ruby
177 lines
4.4 KiB
Ruby
namespace :report do
|
|
desc "create a report of the scores for all subcategories"
|
|
task subcategory: :environment do
|
|
Report::Subcategory.create_report(filename: "ecp_subcategory_report.csv")
|
|
end
|
|
|
|
namespace :measure do
|
|
task :district, %i[district ay] => :environment do |_, args|
|
|
# measure_ids = %w[
|
|
# 1A-i
|
|
# 1A-ii
|
|
# 1A-iii
|
|
# 1B-i
|
|
# 1B-ii
|
|
# 2A-i
|
|
# 2A-ii
|
|
# 2B-i
|
|
# 2B-ii
|
|
# 2C-i
|
|
# 2C-ii
|
|
# 3A-i
|
|
# 3A-ii
|
|
# 3B-i
|
|
# 3B-ii
|
|
# 3B-iii
|
|
# 3C-i
|
|
# 3C-ii
|
|
# 4A-i
|
|
# 4A-ii
|
|
# 4B-i
|
|
# 4B-ii
|
|
# 4C-i
|
|
# 4D-i
|
|
# 4D-ii
|
|
# 5A-i
|
|
# 5A-ii
|
|
# 5B-i
|
|
# 5B-ii
|
|
# 5C-i
|
|
# 5C-ii
|
|
# 5D-i
|
|
# 5D-ii
|
|
# ]
|
|
# measures = measure_ids.map { |measure_id| Measure.find_by_measure_id(measure_id) }
|
|
|
|
district = District.find_by_name args[:district]
|
|
academic_years = AcademicYear.where(range: args[:ay])
|
|
if district.nil?
|
|
puts "Invalid district name"
|
|
bad = true
|
|
end
|
|
if academic_years.nil?
|
|
puts "Invalid academic year"
|
|
bad = true
|
|
end
|
|
next if bad
|
|
|
|
Report::Measure.create_report(
|
|
schools: School.where(district:),
|
|
academic_years:,
|
|
# measures:,
|
|
filename: "measure_report_" + district.slug + ".csv"
|
|
)
|
|
end
|
|
|
|
task sqm: :environment do
|
|
measure_ids = %w[
|
|
1A-i
|
|
1A-ii
|
|
1A-iii
|
|
1B-i
|
|
1B-ii
|
|
2A-i
|
|
2A-ii
|
|
2B-i
|
|
2B-ii
|
|
2C-i
|
|
2C-ii
|
|
3A-i
|
|
3A-ii
|
|
3B-i
|
|
3B-ii
|
|
3B-iii
|
|
3C-i
|
|
3C-ii
|
|
4A-i
|
|
4A-ii
|
|
4B-i
|
|
4B-ii
|
|
4C-i
|
|
4D-i
|
|
4D-ii
|
|
5A-i
|
|
5A-ii
|
|
5B-i
|
|
5B-ii
|
|
5C-i
|
|
5C-ii
|
|
5D-i
|
|
5D-ii
|
|
]
|
|
|
|
measures = measure_ids.map { |measure_id| Measure.find_by_measure_id(measure_id) }.reject(&:nil?)
|
|
|
|
Report::Measure.create_report(filename: "measure_report.csv", measures:)
|
|
end
|
|
end
|
|
|
|
namespace :scale do
|
|
task bll: :environment do
|
|
measure_ids = %w[
|
|
2A-i
|
|
2A-ii
|
|
2B-i
|
|
2B-ii
|
|
2C-i
|
|
2C-ii
|
|
4B-i
|
|
5B-i
|
|
5B-ii
|
|
5D-i
|
|
]
|
|
|
|
measures = measure_ids.map { |measure_id| Measure.find_by_measure_id(measure_id) }
|
|
scales = []
|
|
measures.each { |measure| scales << measure.scales }
|
|
scales = scales.flatten.compact
|
|
|
|
Report::BeyondLearningLoss.create_report(filename: "bll_report.csv", scales:)
|
|
end
|
|
end
|
|
|
|
namespace :survey_item do
|
|
task :create, %i[school academic_year] => :environment do |_, args|
|
|
school = School.find_by_name(args[:school])
|
|
academic_year = AcademicYear.find_by_range(args[:academic_year])
|
|
if school.nil?
|
|
puts "Invalid school name"
|
|
bad = 1
|
|
end
|
|
if academic_year.nil?
|
|
puts "Invalid academic year"
|
|
bad = 1
|
|
end
|
|
next if bad == 1
|
|
|
|
Report::SurveyItem.create_item_report(school:, academic_year:,
|
|
filename: "survey_item_report_" + school.slug + "_" + academic_year.range + "_by_item.csv")
|
|
Report::SurveyItem.create_grade_report(school:, academic_year:,
|
|
filename: "survey_item_report_" + school.slug + "_" + academic_year.range + "_by_grade.csv")
|
|
end
|
|
end
|
|
|
|
namespace :survey_item do
|
|
task :district, %i[district academic_year] => :environment do |_, args|
|
|
district = District.find_by_name(args[:district])
|
|
if district.nil?
|
|
puts "Invalid district name"
|
|
bad = 1
|
|
end
|
|
academic_year = AcademicYear.find_by_range(args[:academic_year])
|
|
if academic_year.nil?
|
|
puts "Invalid academic year"
|
|
bad = 1
|
|
end
|
|
next if bad == 1
|
|
|
|
schools = district.schools
|
|
schools.each do |school|
|
|
Report::SurveyItem.create_item_report(school:, academic_year:,
|
|
filename: "survey_item_report_" + school.slug + "_" + academic_year.range + "_by_item.csv")
|
|
Report::SurveyItem.create_grade_report(school:, academic_year:,
|
|
filename: "survey_item_report_" + school.slug + "_" + academic_year.range + "_by_grade.csv")
|
|
end
|
|
end
|
|
end
|
|
end
|