4 class Admin::TotalsController < Admin::BaseController
5 before_filter :admin_permission_check_term
10 [:month, :date_from, :date_to, :sale_start_from, :sale_start_to].each do | key |
11 params[:search][key] = parse_date_select(params[:search], key)
13 @search = OpenStruct.new(params[:search])
14 params[:page] ||= 'term'
15 @agent = Totalizer.get_instance(params[:page])
17 params[:page] = 'term'
18 @agent = Totalizer.get_instance(params[:page])
20 @sale_start_enabled = (params[:page] == 'product')
21 params[:type] ||= @agent.default_type
23 @list_view = @agent.columns
25 @labels = @agent.labels
27 @records = @agent.get_records(params)
29 logger.error e.message
30 e.backtrace.each{|bt|logger.error(bt)}
34 flash[:graph] = @agent.graph
36 logger.error(e.message)
37 e.backtrace.each{|bt|logger.error(bt)}
43 send_data flash[:graph], :type => 'image/png', :disposition => 'inline'
45 head :status => :not_found
50 totalizer = Object.const_get("#{params[:page]}_totalizer".classify)
51 csv_data, filename = totalizer.csv(params)
52 headers['Content-Type'] = "application/octet-stream; name=#{filename}"
53 headers['Content-Disposition'] = "attachment; filename=#{filename}"
54 render :text => Iconv.conv('cp932', 'UTF-8', csv_data)