Sha256: ba5231967eb8b040746e61afd9c7833c6723255848eb793e9841fed073b84f7b
Contents?: true
Size: 1.34 KB
Versions: 1
Compression:
Stored size: 1.34 KB
Contents
class Spree::AdvancedReport::GeoReport::GeoUnits < Spree::AdvancedReport::GeoReport def name I18n.t("adv_report.geo_report.units.name") end def column I18n.t("adv_report.geo_report.units.column") end def description I18n.t("adv_report.geo_report.units.description") end def initialize(params) super(params) data = { :state => {}, :country => {} } orders.each do |order| units = units(order) if order.bill_address.state data[:state][order.bill_address.state_id] ||= { :name => order.bill_address.state.name, :units => 0 } data[:state][order.bill_address.state_id][:units] += units end if order.bill_address.country data[:country][order.bill_address.country_id] ||= { :name => order.bill_address.country.name, :units => 0 } data[:country][order.bill_address.country_id][:units] += units end end [:state, :country].each do |type| ruportdata[type] = Table(I18n.t("adv_report.geo_report.units.table")) data[type].each { |k, v| ruportdata[type] << { "location" => v[:name], I18n.t("adv_report.units") => v[:units] } } ruportdata[type].sort_rows_by!([I18n.t("adv_report.units")], :order => :descending) ruportdata[type].rename_column("location", type.to_s.capitalize) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spree_advanced_reporting-2.1.0 | lib/spree/advanced_report/geo_report/geo_units.rb |