Sha256: fa2cf61ded1f6de6b0365bd0a06a68a91d17df4c1ddf8076f7365a02fb5bcdc4

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

class Spree::AdvancedReport::IncrementReport::Profit < Spree::AdvancedReport::IncrementReport
  def name
    I18n.t("adv_report.increment_report.profit.name")
    "Profit"
  end

  def column
    I18n.t("adv_report.increment_report.profit.column")
    "Profit"
  end

  def description
    I18n.t("adv_report.increment_report.profit.description")
  end

  def initialize(params)
    super(params)
    self.total = 0
    self.orders.each do |order|
      date = {}
      INCREMENTS.each do |type|
        date[type] = get_bucket(type, order.completed_at || order.updated_at)
        data[type][date[type]] ||= {
          :value => 0, 
          :display => get_display(type, order.completed_at || order.updated_at),
        }
      end
      profit = profit(order)
      INCREMENTS.each { |type| data[type][date[type]][:value] += profit }
      self.total += profit
    end

    generate_ruport_data

    INCREMENTS.each { |type| ruportdata[type].replace_column(name) { |r| "$%0.2f" % r[name] } }
  end

  def format_total
    '$' + ((self.total*100).round.to_f / 100).to_s
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree_advanced_reporting-2.1.0 lib/spree/advanced_report/increment_report/profit.rb