module Base::ContactCallNote
  extend ActiveSupport::Concern
  include Castable

  included do
    self.table_name = 'ContactHistory'
    self.primary_key = 'CHID'

    cast_as_boolean :Private
    cast_as_boolean :Reminder

    alias_attribute :id, :CHID
    alias_attribute :school_id, :SchoolID
    alias_attribute :contact_id, :ContactID
    alias_attribute :author_id, :AuthorID
    alias_attribute :class_id, :ClassID
    alias_attribute :date, :Date
    alias_attribute :subject, :Subject
    alias_attribute :message, :Message
    alias_attribute :reminder, :Reminder
    alias_attribute :type, :Type
    alias_attribute :status, :Status
    alias_attribute :private, :Private

    before_save :set_defaults

    private
      def set_defaults
        self.message = '' unless message?
      end
  end
end
