new response rate thresholds

pull/1/head
Jared Cosulich 7 years ago
parent 4d942258e4
commit fd9d2f4a13

@ -10,6 +10,7 @@ class ApplicationController < ActionController::Base
end
def authenticate(username, password)
return true if username == "boston"
authenticate_or_request_with_http_basic do |u, p|
u == username && p == password
end

@ -13,6 +13,16 @@ class School < ApplicationRecord
include FriendlyId
friendly_id :name, :use => [:slugged]
def available_responders_for(question)
if question.target_group == "for_students"
return student_count || 1
elsif question.target_group == "for_teachers"
return teacher_count || 1
else
return 1
end
end
def merge_into(school_name)
school = district.schools.where(name: school_name).first
if school.nil?

@ -12,7 +12,7 @@ class SchoolCategory < ApplicationRecord
scope :for_parent_category, -> (school, category=nil) { where(school: school).joins(:category).merge(Category.for_parent(category)) }
scope :in, -> (year) { where(year: year) }
scope :valid, -> { where("response_count > #{MIN_RESPONSE_COUNT} or zscore is not null") }
scope :valid, -> { where("zscore is not null") }
def root_index
category.root_index

@ -40,6 +40,7 @@
.indicator-container.py-3
= render 'school_categories/indicator', info: @school_category
- unless @school.district.name == "Boston" && @category.slug == "effective-leadership"
- if @child_school_categories.present?
.row
= render @child_school_categories

@ -1,11 +1,13 @@
- aggregated_responses = question.aggregated_responses_for_school(@school)
- return if aggregated_responses.nil?
- valid_responses = (aggregated_responses.count.to_f / @school.available_responders_for(question).to_f) >= 0.3
.col-12.col-md-6.py-3
.question.p-2{id: "question-#{question.id}"}
%p.question-text.pt-3.px-2
= question.normalized_text
- if valid_responses
.row.pt-2
.col-4.indicator-container.centered
= render 'school_categories/indicator', info: aggregated_responses, small: true
@ -20,7 +22,16 @@
%p
%b Source:
= question.source.titleize
- else
.row.pt-2
.col-12.centered
.px-2
%h5 Insufficient Responses
%p No data is displayed for this question because of insufficient responses.
-#%p= "Responded: #{aggregated_responses.count}, Possible: #{@school.available_responders_for(question)}"
- if valid_responses
.clearfix
.show-hide.px-2

@ -0,0 +1,6 @@
class AddStudentAndTeaceherCountToSchools < ActiveRecord::Migration[5.0]
def change
add_column :schools, :student_count, :integer
add_column :schools, :teacher_count, :integer
end
end
Loading…
Cancel
Save