diff --git a/app/controllers/categories_controller.rb b/app/controllers/categories_controller.rb index 710fd195..6e5770a6 100644 --- a/app/controllers/categories_controller.rb +++ b/app/controllers/categories_controller.rb @@ -14,11 +14,18 @@ class CategoriesController < ApplicationController district = @school.district authenticate(district.name.downcase, "#{district.name.downcase}!") school_categories = SchoolCategory.for(@school, @category) + if school_categories.empty? + school_categories = [SchoolCategory.new(school: @school, category: @category, year: @year)] + end @years = school_categories.map(&:year).map(&:to_i).sort @year = (params[:year] || @years.first).to_i @years.delete(@year) @school_category = school_categories.in(@year).first - @child_school_categories = SchoolCategory.for_parent_category(@school, @category).in(@year).valid + @child_school_categories = SchoolCategory.for_parent_category(@school, @category).in(@year).valid.to_a + missing_categories = Category.for_parent(@category) - @child_school_categories.map(&:category) + missing_categories.each do |category| + @child_school_categories << category.school_categories.new(school: @school) + end @questions = @category.questions.created_in(@year) end diff --git a/app/views/school_categories/_school_category.html.haml b/app/views/school_categories/_school_category.html.haml index e6833c26..f29d9e1c 100644 --- a/app/views/school_categories/_school_category.html.haml +++ b/app/views/school_categories/_school_category.html.haml @@ -3,7 +3,7 @@ %h4.title.text-center.pt-3 = link_to(school_category.category.name, school_category_path(school_category.school, school_category.category, year: school_category.year)) - - if school_category.school.district.name != "Boston" || (school_category.valid_child_count || 1) > 0 + - if !school_category.new_record? && (school_category.school.district.name != "Boston" || (school_category.valid_child_count || 1) > 0) .indicator-container.short = render 'school_categories/indicator', info: school_category