|
|
|
@ -24,6 +24,26 @@ class SurveyItem < ActiveRecord::Base
|
|
|
|
scope :short_form_items, lambda {
|
|
|
|
scope :short_form_items, lambda {
|
|
|
|
where(on_short_form: true)
|
|
|
|
where(on_short_form: true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
scope :early_education_surveys, lambda {
|
|
|
|
|
|
|
|
where("survey_item_id LIKE '%-%-es%'")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
scope :survey_items_for_grade, lambda { |school, academic_year, grade|
|
|
|
|
|
|
|
|
includes(:survey_item_responses)
|
|
|
|
|
|
|
|
.where("survey_item_responses.grade": grade,
|
|
|
|
|
|
|
|
"survey_item_responses.school": school,
|
|
|
|
|
|
|
|
"survey_item_responses.academic_year": academic_year)
|
|
|
|
|
|
|
|
.pluck(:survey_item_id).to_set
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
scope :survey_type_for_grade, lambda { |school, academic_year, grade|
|
|
|
|
|
|
|
|
survey_items_set_by_grade = survey_items_for_grade(school, academic_year, grade)
|
|
|
|
|
|
|
|
if survey_items_set_by_grade.size > 0 && survey_items_set_by_grade.subset?(early_education_surveys.pluck(:survey_item_id).to_set)
|
|
|
|
|
|
|
|
return :early_education
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:regular
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
def description
|
|
|
|
def description
|
|
|
|
DataAvailability.new(survey_item_id, prompt, true)
|
|
|
|
DataAvailability.new(survey_item_id, prompt, true)
|
|
|
|
|