module Base::Attendance
  extend ActiveSupport::Concern

  included do
    self.table_name = 'Attendance'
    self.primary_key = 'AttendID'

    alias_attribute :id, :AttendID
    alias_attribute :school_id, :SchoolID
    alias_attribute :school_year_id, :SchoolYearID
    alias_attribute :class_id, :ClassID
    alias_attribute :student_id, :StudentID
    alias_attribute :date, :Date
    alias_attribute :datetime, :DateTime
    alias_attribute :is_present, :Present
    alias_attribute :hours, :Hours
    alias_attribute :absent, :Absent
    alias_attribute :absent_hours, :AbsentHours
    # alias_attribute :status, :Status
    # alias_attribute :type, :Type
    alias_attribute :type_id, :ATID
    alias_attribute :type_2_id, :ATID2
    alias_attribute :quarter, :Quarter
    alias_attribute :tardy, :Tardy
    alias_attribute :unexcused, :Unexcused
    alias_attribute :excused, :Excused
    alias_attribute :notes, :Notes
    alias_attribute :homeroom, :HomeRoom

    before_create :set_defaults

    private
      def set_defaults
        self.DateTime = DateTime.now unless self.DateTime
        self.ATID = 0 unless self.ATID
      end
  end
end
