Class: Spree::Admin::OverviewController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/admin/overview_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/controllers/spree/admin/overview_controller.rb', line 10

def index
  return unless display_ability

  @best_selling_variants = LazyObject.new { overview.best_selling_variants }
  @top_grossing_variants = LazyObject.new { overview.top_grossing_variants }
  @best_selling_taxons = LazyObject.new { overview.best_selling_taxons }
  @abandoned_carts = LazyObject.new { overview.abandoned_carts }
  @checkout_steps = LazyObject.new { overview.checkout_steps }
  @abandoned_carts_products = LazyObject.new { overview.abandoned_carts_products }

  @orders_by_day = LazyObject.new { overview.orders_by_day }
  @orders_line_total = LazyObject.new { overview.orders_line_total }
  @orders_total = LazyObject.new { overview.orders_total }
  @orders_adjustment_total = LazyObject.new { overview.orders_adjustment_total }

  @last_five_orders = LazyObject.new { overview.last_orders }
  @biggest_spenders = LazyObject.new { overview.biggest_spenders }
  @out_of_stock_products = LazyObject.new { overview.out_of_stock_products }

  @pie_colors = Spree::Overview::DEFAULT_COLORS
end

#report_dataObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'app/controllers/spree/admin/overview_controller.rb', line 32

def report_data
  case params[:report]
    when 'orders_by_day'
      values = '[[' + overview.orders_by_day.map do |day|
        "['#{day[0]}', #{day[1]}]"
      end.join(',') + ']]'
    when 'orders_totals'
      values = [orders_total: overview.orders_total.to_i,
        orders_line_total: overview.orders_line_total.to_i,
        orders_adjustment_total: overview.orders_adjustment_total.to_i
      ].to_json
  end

  render js: values
end