You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
class SqmApplicationController < ApplicationController
|
|
protect_from_forgery with: :exception, prepend: true
|
|
before_action :set_schools_and_districts
|
|
before_action :authenticate_district
|
|
|
|
private
|
|
|
|
def authenticate_district
|
|
authenticate(@district.name.downcase, "#{@district.name.downcase}!")
|
|
end
|
|
|
|
def set_schools_and_districts
|
|
@district = District.find_by_slug district_slug
|
|
@districts = District.all.order(:name)
|
|
@school = School.find_by_slug(school_slug)
|
|
@schools = School.includes([:district]).where(district: @district).order(:name)
|
|
@academic_year = AcademicYear.find_by_range params[:year]
|
|
@academic_years = AcademicYear.all.order(range: :desc)
|
|
@has_empty_dataset = Measure.all.all? do |measure|
|
|
measure.none_meet_threshold? school: @school, academic_year: @academic_year
|
|
end
|
|
end
|
|
|
|
def district_slug
|
|
params[:district_id]
|
|
end
|
|
|
|
def school_slug
|
|
params[:school_id]
|
|
end
|
|
|
|
def authenticate(username, password)
|
|
return true if username == 'boston'
|
|
|
|
authenticate_or_request_with_http_basic do |u, p|
|
|
u == username && p == password
|
|
end
|
|
end
|
|
end
|