class FamilyModule < ModuleConfig
  attr_accessor :skip_callback

  validate :check_employee_module

  before_save :update_admissions

  before_save :save_legacy_modules

  private
    def update_admissions
      return unless admissions_changed?

      admission_config = school.find_or_build_admission_config
      admission_config.skip_callback = true
      admission_config.portal = admissions?
      admission_config.save
    end

    def sync_legacy_modules
      self.discipline = school.school_config.family_discipline
      self.nursing = school.school_config.family_medical
      super
    end

    def save_legacy_modules
      school.school_config.update(
        family_discipline: discipline,
        family_medical: nursing
      )
    end
end
