Advertisement
Guest User

Untitled

a guest
Jul 28th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb
  2. index 7641279..842e614 100644
  3. --- a/app/controllers/home_controller.rb
  4. +++ b/app/controllers/home_controller.rb
  5. @@ -35,7 +35,7 @@ class HomeController < ApplicationController
  6.  
  7.  
  8. @grouped_orders = @orders_data.collect do |order|
  9. - { group: order, orders: Order.fetch_orders(order.ids) }
  10. + { group: order, orders: Order.include(SurveyQueries).fetch_orders(order.ids) }
  11. end
  12.  
  13. @orders = @grouped_orders.collect{|grouped_order| grouped_order[:orders]}.flatten
  14. diff --git a/app/models/concerns/survey_queries.rb b/app/models/concerns/survey_queries.rb
  15. index 290c6a4..5c25b92 100644
  16. --- a/app/models/concerns/survey_queries.rb
  17. +++ b/app/models/concerns/survey_queries.rb
  18. @@ -1,5 +1,14 @@
  19. +require 'active_support/concern'
  20. +
  21. module SurveyQueries
  22. + extend ActiveSupport::Concern
  23. extend self
  24. +
  25. + included do
  26. + # Example fetch_orders('1,2,3,4,5') -> Fetches orders with ids
  27. + scope :fetch_orders, ->(ids) { joins("LEFT JOIN `attachments` ON attachments.order_id = orders.id LEFT JOIN `order_exceptions` ON order_exceptions.order_id = orders.id LEFT JOIN `order_notes` ON order_notes.order_id = orders.id").select("orders.*, CASE WHEN attachments.order_id IS NOT NULL THEN 'active' ELSE 'inactive' END AS attachments_exist, CASE WHEN order_exceptions.order_id IS NOT NULL THEN 'true' ELSE 'false' END AS order_exceptions_exist, CASE WHEN order_notes.order_id IS NOT NULL THEN 'true' ELSE 'false' END AS order_notes_exist").where(id: ids.split(',')).order(:ship_name) }
  28. + end
  29. +
  30. def self.summary_by_questions(params)
  31. sql = <<-SQL.squish
  32. SELECT
  33. diff --git a/app/models/order.rb b/app/models/order.rb
  34. index 16d5b0a..7b1922d 100644
  35. --- a/app/models/order.rb
  36. +++ b/app/models/order.rb
  37. @@ -106,8 +106,6 @@ class Order < ActiveRecord::Base
  38. scope :from_store,->(store_id){where(store_id: store_id) if store_id.present?}
  39. scope :payment_pending,-> { where(status: "Payment Pending") }
  40. scope :ordered_but_not_processed,->{ where("orders.payment_made_at <= ?", 2.days.ago) }
  41. - # Example fetch_orders('1,2,3,4,5') -> Fetches orders with ids
  42. - scope :fetch_orders, ->(ids) { joins("LEFT JOIN `attachments` ON attachments.order_id = orders.id LEFT JOIN `order_exceptions` ON order_exceptions.order_id = orders.id LEFT JOIN `order_notes` ON order_notes.order_id = orders.id").select("orders.*, CASE WHEN attachments.order_id IS NOT NULL THEN 'active' ELSE 'inactive' END AS attachments_exist, CASE WHEN order_exceptions.order_id IS NOT NULL THEN 'true' ELSE 'false' END AS order_exceptions_exist, CASE WHEN order_notes.order_id IS NOT NULL THEN 'true' ELSE 'false' END AS order_notes_exist").where(id: ids.split(',')).order(:ship_name) }
  43. scope :shipment_delay,->{
  44. joins(:order_items).
  45. where(
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement