Sha256: ac0f0db1edf64ac26b144c1b0f82d108b8ee484dd0fb21a1509941f032cb4fea

Contents?: true

Size: 1.56 KB

Versions: 96

Compression:

Stored size: 1.56 KB

Contents

module ActiveScaffold::Actions
  module ExportTool
    include ActiveScaffold::Actions::PrintBase
    def self.included(base)
      base.before_filter :export_tool_authorized_filter, :only => [:export_tool]
    end
    
    def show_export_tool
      respond_to do |wants|
        wants.html do
          if successful?
            render(:partial => 'show_export_tool', :layout => true)
          else
            return_to_main
          end
        end
        wants.js do
          render(:partial => 'show_export_tool', :layout => false)
        end
      end
    end

    def export_tool
      do_print_list(active_scaffold_config.export_tool)
      active_scaffold_config.export_tool.delimiter = params[:delimiter]
      # fastercsv doesn't work with a nil delimiter
      active_scaffold_config.export_tool.delimiter = ',' if active_scaffold_config.export_tool.delimiter.empty?
      active_scaffold_config.export_tool.skip_header = params[:skip_header]
      response.headers['Cache-Control'] = 'max-age=60' # IE 6 needs this!
      response.headers['Content-Disposition'] = "attachment; filename=\"#{self.controller_name}.csv\""
      render :partial => 'export_csv', :content_type => Mime::CSV, :status => response_status 
    end

    protected

    # The default security delegates to ActiveRecordPermissions.
    # You may override the method to customize.
    def export_tool_authorized?
      authorized_for?(:action => :read)
    end

    private

    def export_tool_authorized_filter
      raise ActiveScaffold::ActionNotAllowed unless export_tool_authorized?
    end
    
  end
end

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
six-updater-web-0.24.15 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.14 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.13 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.12 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.11 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.10 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.9 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.8 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.7 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.6 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.5 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.4 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.3 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.2 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.1 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.24.0 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.23.7 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.23.6 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.23.5 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb
six-updater-web-0.23.4 lib/six-updater-web/vendor/plugins/active_scaffold/lib/active_scaffold/actions/export_tool.rb