Class: Crm::Reports::PhoneRecordsController
- Inherits:
-
ReportsController
- Object
- ReportsController
- Crm::Reports::PhoneRecordsController
- Defined in:
- app/controllers/crm/reports/phone_records_controller.rb
Overview
Controller: phone records.
Instance Method Summary collapse
-
#call_reports ⇒ Object
Obsolete — use the call statistics report instead.
-
#queue_members ⇒ Object
Shows live PBX queue member status, cached for 8 hours.
-
#queue_reports ⇒ Object
Runs the phone queue report for the selected queue/agent/grouping.
Instance Method Details
#call_reports ⇒ Object
Obsolete — use the call statistics report instead.
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/controllers/crm/reports/phone_records_controller.rb', line 7 def call_reports raise "Obsolete Report, use call statistics instead" # start_date = parse_date_or_default(params[:start_date],Date.current.beginning_of_year - 1.year) # end_date = parse_date_or_default(params[:end_date], Date.current) # # if params[:commit] == "Apply" # #@results = Analytic::PhoneRecordFact.get_results(@start_date,@end_date) rescue nil # @results = Analytic::PhoneRecordFact.get_call_results(@start_date,@end_date) rescue nil # #@results = CallRecord.where("created_at >= :start_date and created_at <= :end_date", {:start_date => @start_date, :end_date => @end_date}) # else # @results = [] # end end |
#queue_members ⇒ Object
Shows live PBX queue member status, cached for 8 hours.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'app/controllers/crm/reports/phone_records_controller.rb', line 55 def queue_members @queue_status = Rails.cache.fetch(:phone_queue_members, expires_in: 8.hours) do Phone::Pbx.instance.get_queue_members_status end respond_to do |format| format.turbo_stream do render turbo_stream: turbo_stream.replace("queue-members-grid", partial: "crm/reports/phone_records/queue_members_grid", locals: { queue_status: @queue_status }) end format.html do @queues_for_select = Phone::Pbx::QUEUES.map { |name, id| [name.to_s.titleize, id.to_s] } end end end |
#queue_reports ⇒ Object
Runs the phone queue report for the selected queue/agent/grouping.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/controllers/crm/reports/phone_records_controller.rb', line 22 def queue_reports @start_date = parse_date_or_default(params[:start_date], Date.current.beginning_of_year - 1.year) @end_date = parse_date_or_default(params[:end_date], Date.current) @queue = begin params[:queue] rescue StandardError nil end @agent = begin params[:agent] rescue StandardError nil end @grouping = begin params[:grouping] rescue StandardError nil end @results = if params[:commit] == "Apply" # @results = Analytic::PhoneRecordFact.get_results(@start_date,@end_date) rescue nil begin Analytic::PhoneRecordFact.get_queue_results(@start_date, @end_date, @queue, @agent, @grouping) rescue StandardError nil end # @results = CallRecord.where("created_at >= :start_date and created_at <= :end_date", {:start_date => @start_date, :end_date => @end_date}) else [] end end |