module Base::TimeCard::Config
  extend ActiveSupport::Concern
  include Castable

  included do
    self.table_name = :TimeCardConfig
    self.primary_key = :TCCID

    cast_as_boolean :AllowEmpAdjust

    alias_attribute :id, :TCCID
    alias_attribute :school_id, :SchoolID
    alias_attribute :time_period, :TimePeriods
    alias_attribute :label, :Label
    alias_attribute :editable, :AllowEmpAdjust

    before_create :set_defaults

    private
      def set_defaults
        self.Label = '' unless self.Label
        self.AllowEmpAdjust = 0 unless self.AllowEmpAdjust
      end
  end
end
