Sha256: 6ec9a08f7fc1824b760d34c95547bbdde9b92d9e7361d8de9e736f57944dcf9f

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

module Api
  module V1
    module Extensions
      module BizTxnEventFilters

        # Filter records
        #
        # @param filters [Hash] a hash of filters to be applied,
        # @param statement [ActiveRecord::Relation] the query being built
        # @return [ActiveRecord::Relation] the query being built
        def apply_filters(filters, statement=nil)
          biz_txn_events = super(filters, statement)

          if filters[:work_effort_id]
            biz_txn_events = biz_txn_events.joins(:work_effort_biz_txn_events)
                                 .where('work_effort_biz_txn_events.work_effort_id' => filters[:work_effort_id])
          end

          biz_txn_events
        end

      end # BizTxnEventFilters
    end # Extensions
  end # V1
end # Api

BizTxnEvent.singleton_class.prepend Api::V1::Extensions::BizTxnEventFilters

BizTxnEvent.class_eval do

  ## What WorkEfforts have been related to this BizTxnEvent
  has_many :work_effort_biz_txn_events, :dependent => :destroy
  has_many :work_efforts, :through => :work_effort_biz_txn_events

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
erp_work_effort-4.2.0 app/models/extensions/biz_txn_events.rb