Sha256: 5a8d57265c90b2d34e28e84ec5164faae98a3766fabb7a69c13ff4806b4cc9bd

Contents?: true

Size: 1.73 KB

Versions: 54

Compression:

Stored size: 1.73 KB

Contents

module Caboose
  class MyAccountLineItemsController < Caboose::ApplicationController
            
    # GET /my-account/orders/:order_id/line-items
    def index
      return if !logged_in?      
      @order = Order.find(params[:order_id])
      if @order.customer_id != logged_in_user.id
        @error = "The given order does not belong to you."
        render :file => 'caboose/extras/error'
        return
      end
    end
      
    # GET /my-account/orders/:order_id/line-items/:id
    def edit
      return if !logged_in?
      
      @order = Order.find(params[:order_id])
      @line_item = LineItem.find(params[:id])
      if @order.customer_id != logged_in_user.id
        @error = "The given order does not belong to you."
        render :file => 'caboose/extras/error'
        return
      end      
    end
    
    # GET /my-account/orders/:order_id/line-items/:id/download
    def download
      return if !logged_in?
      
      order = Order.find(params[:order_id])      
      if order.customer_id != logged_in_user.id
        @error = "The given order does not belong to you."
        render :file => 'caboose/extras/error'
        return
      end

      li = LineItem.find(params[:id])
      if !li.variant.downloadable
        render :text => "Not a downloadable file."
        return
      end
      
      # Generate the download URL and redirect to it
      sc = @site.store_config
      config = YAML.load_file("#{::Rails.root}/config/aws.yml")        
      bucket = AWS::S3::Bucket.new(config[Rails.env]['bucket'])
      s3object = AWS::S3::S3Object.new(bucket, li.variant.download_path)
      url = s3object.url_for(:read, :expires => sc.download_url_expires_in.to_i.minutes).to_s

      redirect_to url
    end
             
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
caboose-cms-0.5.187 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.186 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.185 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.184 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.183 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.182 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.181 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.180 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.179 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.178 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.177 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.176 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.175 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.174 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.173 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.172 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.171 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.170 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.169 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.5.168 app/controllers/caboose/my_account_line_items_controller.rb