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