Sha256: 5f848c55c98cb986c401783ff9c01f9b543d0af1b8face92730c990d0e3f08f7

Contents?: true

Size: 1.75 KB

Versions: 101

Compression:

Stored size: 1.75 KB

Contents

module Caboose
  class MyAccountLineItemsController < Caboose::ApplicationController
            
    # GET /my-account/orders/:order_id/line-items
    def index
      return if !verify_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 !verify_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 !verify_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

101 entries across 101 versions & 1 rubygems

Version Path
caboose-cms-0.7.14 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.13 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.12 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.11 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.10 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.9 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.8 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.7 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.6 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.5 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.4 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.3 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.2 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.7.1 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.6.36 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.6.35 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.6.34 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.6.33 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.6.32 app/controllers/caboose/my_account_line_items_controller.rb
caboose-cms-0.6.31 app/controllers/caboose/my_account_line_items_controller.rb