class Discipline::Config < ApplicationRecord
  include Base::Discipline::Config

  enum reset_points_new_term: { nothing: 0, quarter: 1, semester: 2 }

  associations_for legacy: true do |a|
    a.belongs_to :school, inverse_of: :discipline_config
  end

  before_save :set_defaults

  def reset_points_start_date
    term = nothing? ? :full_year : reset_points_new_term.to_sym
    school.current_year.closest_term_date(term)
  end

  private
    def set_defaults
      self.reset_points_new_term = :nothing if reset_points_new_term.nil?
    end
end
