Sha256: e58c1e4139be4548baf1de81cb0aaa9af150ca18bde69c840b479adbacc6c2b4
Contents?: true
Size: 1.84 KB
Versions: 96
Compression:
Stored size: 1.84 KB
Contents
module ActiveScaffold::Actions module Customize include ActiveScaffold::Actions::PrintBase def self.included(base) base.before_filter :customize_authorized_filter, :only => [:customize] base.before_filter :store_custum_list base.before_filter :do_customize end def show_customize respond_to do |wants| wants.html do if successful? render(:partial => 'show_customize', :layout => true) else return_to_main end end wants.js do render(:partial => 'show_customize', :layout => false) end end end def reset_customize active_scaffold_session_storage[:custom_columns] = {} @list_columns = nil update_table end def store_custum_list active_scaffold_session_storage[:custom_columns] ||= {} active_scaffold_session_storage[:custom_columns] = params[:custom_columns] if params[:custom_columns] end protected # The default security delegates to ActiveRecordPermissions. # You may override the method to customize. def customize_authorized? authorized_for?(:action => :read) end def do_customize # active_scaffold_session_storage[:custom_columns_default] ||= active_scaffold_tools_list_columns.collect { |col| col.name.to_sym } if !active_scaffold_session_storage[:custom_columns].empty? and params[:action] != :reset_custom @list_columns = active_scaffold_config.customize.columns.reject { |col| active_scaffold_session_storage[:custom_columns][col.name.to_sym].nil? } end end private def customize_authorized_filter link = active_scaffold_config.customize.link || active_scaffold_config.customize.class.link raise ActiveScaffold::ActionNotAllowed unless self.send(link.security_method) end end end
Version data entries
96 entries across 96 versions & 1 rubygems