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

  included do
    self.table_name = 'FormEntry'
    self.primary_key = 'FormEntryID'

    cast_as_boolean :Verified

    alias_attribute :id, :FormEntryID
    alias_attribute :school_id, :SchoolID
    alias_attribute :form_id, :FormID
    alias_attribute :date, :Date
    alias_attribute :user_id, :UserID
    alias_attribute :verified, :Verified
    alias_attribute :verified_date, :VerifiedDate
    alias_attribute :verifier_id, :Verifier

    before_save :set_defaults

    private
      def set_defaults
        self.date = Time.zone.now unless date?
      end
  end
end
