Class: Admin::ReportsController
- Inherits:
-
BaseController
- Object
- ActionController::Base
- ApplicationController
- BaseController
- Admin::ReportsController
- Defined in:
- app/controllers/admin/reports_controller.rb
Constant Summary
Constants inherited from BaseController
BaseController::INTERNAL_SERVER_ERROR_MESSAGE
Instance Method Summary collapse
Methods inherited from BaseController
#destroy_session, #identity_cache_memoization, #sign_in_page, #user_developer_session
Methods included from LogrageCustomLogger
Methods included from AdminHelper
#dynamic_pricings_formatter, #link_to_admin_reservations_path_by_id, #link_to_admin_restaurants_path_by_id, #link_to_log, #optional_locales, #optional_locales_with_labels, #staff_signed_in?
Methods included from UpdateLocaleConcern
Methods inherited from ApplicationController
#after_sign_in_path_for, #after_sign_out_path_for, #default_url_options, #identity_cache_memoization, #render_not_found, #routing_error, search_params_key=
Methods included from ControllerHelpers
#check_boolean_param, #get_banners, #inventory_params, #reservation_params
Instance Method Details
#channel_filter ⇒ Object
22 23 24 25 26 27 28 |
# File 'app/controllers/admin/reports_controller.rb', line 22 def channel_filter filter = params[:queries].try(:[], :channel_filter) ? params[:queries][:channel_filter].to_i : nil restaurant = params[:queries].try(:[], :restaurant) no_show = params[:queries].try(:[], :no_show) ? params[:queries][:no_show].to_i : nil @reservation_by_channel_report = Reservation.generate_reports_by_channel filter, restaurant, no_show respond_to :json end |
#daily_reservation_report ⇒ Object
36 37 38 39 40 |
# File 'app/controllers/admin/reports_controller.rb', line 36 def daily_reservation_report active = Reservation.where(date: params[:date]).where(active: true).exclude_temporary party_size = active.map(&:party_size).sum render json: { active: active.count, party_size: party_size } end |
#index ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/controllers/admin/reports_controller.rb', line 5 def index respond_to do |format| format.html do @restaurant_report = Restaurant.generate_reports @user_reports = User.generate_user_reports @restaurants = Restaurant.all end format.json do month_query = params[:queries].try :[], :month year_query = params[:queries].try :[], :year active_query = params[:queries].try :[], :isactive no_show = params[:queries].try(:[], :no_show) ? params[:queries][:no_show].to_i : nil @reservations = Reservation.generate_reports_by_restaurant month_query, year_query, active_query, no_show end end end |
#user_reports ⇒ Object
30 31 32 33 34 |
# File 'app/controllers/admin/reports_controller.rb', line 30 def user_reports operator = params[:credits].split(' ') query = "SELECT * FROM (SELECT `users`.`id`, `users`.`email`, `users`.`username`, `users`.`phone`, (SUM(`rewards`.`points_total`) - SUM(`rewards`.`points_pending`)) AS `credits` FROM `users` JOIN `rewards` ON `rewards`.`user_id` = `users`.`id` GROUP BY `users`.`id` ) AS r WHERE r.credits #{operator[0].to_sym} #{operator[1].to_i}" @users = User.find_by_sql(query) end |