module Base::StudentDetail
  extend ActiveSupport::Concern

  included do
    self.table_name = 'StudentDetails'
    self.primary_key = 'SDID'

    alias_attribute :id, :SDID
    alias_attribute :school_id, :SchoolID
    alias_attribute :student_id, :StudentID
    alias_attribute :updated_at, :Updated
    alias_attribute :author_id, :AuthorID
    alias_attribute :foreign_exchange, :ForeignExchange
    alias_attribute :honors, :Honors
    alias_attribute :gifted, :Gifted
    alias_attribute :gifted_participation, :GiftedParicipation
    alias_attribute :ward_of_state, :WardOfState
    alias_attribute :special_education, :SpecialEducation
    alias_attribute :challenge, :Challenge
    alias_attribute :immigrate, :Immigrant
    alias_attribute :migrate, :Migrant
    alias_attribute :immigrant_status, :ImmigrantStatus
    alias_attribute :entered_us, :EnteredUS
    alias_attribute :birth_city, :BirthCity
    alias_attribute :birth_state_id, :BirthStateID
    alias_attribute :birth_country_id, :BirthCountryID
    alias_attribute :plan_504, :Plan504
    alias_attribute :single_parent, :SingleParent
    alias_attribute :non_public, :NonPublic
    alias_attribute :food_program, :FoodProgram
    alias_attribute :economic_disadvantaged, :EconomicDisadvantaged
    alias_attribute :english_proficiency, :EnglishProficiency
    alias_attribute :lep_eligible, :LEPEligible
    alias_attribute :lep_participation, :LEPParticipation
    alias_attribute :lep_duration, :LEPDuration
    alias_attribute :residence_status, :ResidencStatus
    alias_attribute :ncea_race, :NCEARace
    alias_attribute :catholic, :Catholic
    alias_attribute :ncea_race_auto_pd, :NCEARaceAutopd
    alias_attribute :edfi_id, :EdFiID
    alias_attribute :edfi_diploma_id, :EdFiDiplomaID
    alias_attribute :multi_birth_status, :MultiBirthStatus
    alias_attribute :student_address_opt, :StudentAddressOpt
    alias_attribute :init_school_entry_us, :InitSchoolEntryUS
    alias_attribute :ell_instrument_used, :ELLInstrumentUsed

    before_create :set_school

    private
      def set_school
        self.school_id = student.school_id unless school_id?
      end
  end
end
