Sha256: caaf3c6bab7b9d77d015ed83a43067abccd38382ffe82093fe677bf03ef1af6d
Contents?: true
Size: 1.15 KB
Versions: 3
Compression:
Stored size: 1.15 KB
Contents
class TbCommerce::OrdersController < ApplicationController def index @orders = orders_query_for_current_session.includes(active_record_includes_for_index()).order(:created_at => :desc).paginate(:page => params[:page], :per_page => 5) render 'index' end def show @order = orders_query_for_current_session.find_by!(:id => params[:id]) render 'show' end private # This should build a query that only returns orders for the current user # If the user is logged in we use spud_user_id, otherwise we use session_id # def orders_query_for_current_session query = TbCommerce::Order.where(:status => [TbCommerce::Order::Status::PLACED, TbCommerce::Order::Status::SHIPPED]).joins(:cart) if current_user return query.where(:tb_commerce_carts => {:spud_user_id => current_user.id}) else return query.where(:tb_commerce_carts => {:session_id => session.id}) end end # Hash of relationships that should be eager loaded on the order history page # def active_record_includes_for_index return { :cart => { :cart_items => {:product_sku => {:product => [:category, :images]}} } } end end
Version data entries
3 entries across 3 versions & 1 rubygems