47 lines
813 B
Ruby
47 lines
813 B
Ruby
# 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
|