# QI ActsAsCaching V0.6
module ActsAsSorting::Hook
def acts_as_sorting(*args)
@acts_as_sorting_options = args.extract_options!
define_method("label_for") do |key, lang=:fr|
self.class.qi_table_order[key.to_sym][:name]
end
def self.qi_table_order
@acts_as_sorting_options[:fields]
end
def self.valid_sort
r = []
self.qi_table_order.each do |key, value|
if value.instance_of? Hash
if value[:reorder] == false
elsif value[:reorder] == true
if value[:sort_name]
r << value[:sort_name]
else
r << key.to_s
end
end
end
end
return r
end
end
end