From 5a9e8b3586cb40793fe5b1b2490d40da675bd45d Mon Sep 17 00:00:00 2001 From: rebuilt Date: Fri, 17 Jun 2022 12:14:43 -0700 Subject: [PATCH] Detect the latest year for which a school has data and select that year when routing from welcome page. --- CHANGELOG.md | 1 + app/helpers/header_helper.rb | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63ef9ee8..ba4321da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Precalculate response rates - Add page caching - Add counter caches +- Detect the latest year for which a school has data and direct a user to that year when routing from welcome page ## [Unreleased] diff --git a/app/helpers/header_helper.rb b/app/helpers/header_helper.rb index 75362937..ce38639b 100644 --- a/app/helpers/header_helper.rb +++ b/app/helpers/header_helper.rb @@ -42,11 +42,11 @@ module HeaderHelper end def latest_year(school) - if school.district.name == 'Attleboro' || school.district.name == 'Winchester' - AcademicYear.find_by_range('2021-22') - else - AcademicYear.find_by_range('2020-21') - end + latest_response_rate = ResponseRate.where(school:).where('meets_student_threshold = ? or meets_teacher_threshold = ?', true, + true).joins('inner join academic_years a on response_rates.academic_year_id=a.id').order('a.range DESC').first + academic_year = latest_response_rate.academic_year if latest_response_rate.present? + + academic_year ||= AcademicYear.order('range DESC').first end def link_weight(path:)