Sha256: b6df8ea014058ccb7da181ba2cf5dd4035be57193c05794fcb3465dba2b87e79
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
require "rails" require "administrate/field/globalize/string" require "administrate/field/globalize/text" module Administrate module Field module Globalize class Engine < ::Rails::Engine initializer "administrate-field-globalize.patch", before: :load_config_initializers do |app| Administrate::Search.class_eval do def run if @term.blank? @scoped_resource.all else @scoped_resource.joins(tables_to_join). where(query, *search_terms).distinct end end def tables_to_join attribute_types.keys.select do |attribute| attribute_types[attribute].searchable? && association_search?(attribute) end + translation_join end def translation_join return [] unless attribute_types.values.any? do |field| field.respond_to?(:translation?) && field.translation? end [:translations] end def query_table_name(attr) if attribute_types[attr].respond_to?(:translation?) ActiveRecord::Base.connection. quote_table_name( "#{@scoped_resource.table_name.singularize}_translations", ) elsif association_search?(attr) ActiveRecord::Base.connection.quote_table_name(attr.to_s.pluralize) else ActiveRecord::Base.connection. quote_table_name(@scoped_resource.table_name) end end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
administrate-field-globalize-0.0.1.alpha3 | lib/administrate/field/globalize.rb |