Module: DcPollResultControl

Defined in:
app/controls/dc_poll_result_control.rb

Overview

DrgcmsControls for DcPage model.

Instance Method Summary collapse

Instance Method Details

#do_exportObject

Export data to file



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'app/controls/dc_poll_result_control.rb', line 52

def do_export
  c, keys = '', []
  get_query.to_a.each do |doc|
    # ensure, that fields are always in same order
    data = YAML.load(doc.data)
    if c.blank?
      data.each {|k,v| keys << k}
      c << I18n.t('helpers.label.dc_poll_result.created_at') + "\t"
      c << keys.join("\t") + "\n"
    end
    c << doc.created_at.strftime(I18n.t('date.formats.default') ) + "\t"
    keys.each {|k| c << data[k] + "\t"}
    c << "\n"
  end
  File.write(Rails.root.join('public','export.csv'), c)
  dc_render_ajax(operation: :window, value: 'export.csv')
end

#do_filterObject

Filter action called. Update url to reflect filter conditions and reload form.



40
41
42
43
44
45
46
47
# File 'app/controls/dc_poll_result_control.rb', line 40

def do_filter
  url = url_for(controller: 'cmsedit', action: :index, table: :dc_poll_result,
                'record[dc_poll_id]' => params[:record][:dc_poll_id],
                'record[start_date]' => params[:record][:start_date],
                'record[end_date]'   => params[:record][:end_date]
               )
  dc_render_ajax(operation: :url, value: url)
end

#poll_filterObject

Filter result data when filter is set



33
34
35
# File 'app/controls/dc_poll_result_control.rb', line 33

def poll_filter()
  get_query
end