Streamline of index attributes.
This commit is contained in:
parent
a6826a9166
commit
632d879e2c
4 changed files with 5 additions and 52 deletions
|
@ -18,11 +18,7 @@ returns
|
||||||
return if !self.class.search_index_support_config
|
return if !self.class.search_index_support_config
|
||||||
|
|
||||||
# default ignored attributes
|
# default ignored attributes
|
||||||
ignore_attributes = {
|
ignore_attributes = {}
|
||||||
created_by_id: true,
|
|
||||||
updated_by_id: true,
|
|
||||||
active: true,
|
|
||||||
}
|
|
||||||
if self.class.search_index_support_config[:ignore_attributes]
|
if self.class.search_index_support_config[:ignore_attributes]
|
||||||
self.class.search_index_support_config[:ignore_attributes].each {|key, value|
|
self.class.search_index_support_config[:ignore_attributes].each {|key, value|
|
||||||
ignore_attributes[key] = value
|
ignore_attributes[key] = value
|
||||||
|
@ -37,7 +33,7 @@ returns
|
||||||
attributes = data.attributes
|
attributes = data.attributes
|
||||||
ignore_attributes.each {|key, value|
|
ignore_attributes.each {|key, value|
|
||||||
next if value != true
|
next if value != true
|
||||||
attributes.delete( key.to_s )
|
attributes.delete(key.to_s)
|
||||||
}
|
}
|
||||||
|
|
||||||
# fill up with search data
|
# fill up with search data
|
||||||
|
@ -45,15 +41,7 @@ returns
|
||||||
return if !attributes
|
return if !attributes
|
||||||
|
|
||||||
# update backend
|
# update backend
|
||||||
if self.class.column_names.include? 'active'
|
SearchIndexBackend.add(self.class.to_s, attributes)
|
||||||
if active
|
|
||||||
SearchIndexBackend.add( self.class.to_s, attributes )
|
|
||||||
else
|
|
||||||
SearchIndexBackend.remove( self.class.to_s, id )
|
|
||||||
end
|
|
||||||
else
|
|
||||||
SearchIndexBackend.add( self.class.to_s, attributes )
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
|
|
@ -18,11 +18,7 @@ returns
|
||||||
return if !self.class.search_index_support_config
|
return if !self.class.search_index_support_config
|
||||||
|
|
||||||
# default ignored attributes
|
# default ignored attributes
|
||||||
ignore_attributes = {
|
ignore_attributes = {}
|
||||||
created_by_id: true,
|
|
||||||
updated_by_id: true,
|
|
||||||
active: true,
|
|
||||||
}
|
|
||||||
if self.class.search_index_support_config[:ignore_attributes]
|
if self.class.search_index_support_config[:ignore_attributes]
|
||||||
self.class.search_index_support_config[:ignore_attributes].each {|key, value|
|
self.class.search_index_support_config[:ignore_attributes].each {|key, value|
|
||||||
ignore_attributes[key] = value
|
ignore_attributes[key] = value
|
||||||
|
@ -62,7 +58,7 @@ returns
|
||||||
article_attributes = article.attributes
|
article_attributes = article.attributes
|
||||||
|
|
||||||
# remove note needed attributes
|
# remove note needed attributes
|
||||||
ignore = %w(created_by_id updated_by_id updated_at references message_id_md5 message_id in_reply_to ticket_id)
|
ignore = %w(message_id_md5)
|
||||||
ignore.each {|attribute|
|
ignore.each {|attribute|
|
||||||
article_attributes.delete( attribute )
|
article_attributes.delete( attribute )
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ class User < ApplicationModel
|
||||||
load 'user/assets.rb'
|
load 'user/assets.rb'
|
||||||
include User::Assets
|
include User::Assets
|
||||||
extend User::Search
|
extend User::Search
|
||||||
include User::SearchIndex
|
|
||||||
|
|
||||||
before_create :check_name, :check_email, :check_login, :check_password
|
before_create :check_name, :check_email, :check_login, :check_password
|
||||||
before_update :check_password, :check_email, :check_login
|
before_update :check_password, :check_email, :check_login
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
# Copyright (C) 2012-2014 Zammad Foundation, http://zammad-foundation.org/
|
|
||||||
|
|
||||||
class User
|
|
||||||
module SearchIndex
|
|
||||||
|
|
||||||
=begin
|
|
||||||
|
|
||||||
get data to store in search index
|
|
||||||
|
|
||||||
user = User.find(123)
|
|
||||||
result = user.search_index_data
|
|
||||||
|
|
||||||
returns
|
|
||||||
|
|
||||||
result = true # false
|
|
||||||
|
|
||||||
=end
|
|
||||||
|
|
||||||
def search_index_data
|
|
||||||
attributes = { 'fullname' => "#{self['firstname']} #{self['lastname']}" }
|
|
||||||
%w(login firstname lastname phone email address city country note created_at).each { |key|
|
|
||||||
if self[key] && (!self.respond_to?('empty?') || !self[key].empty?)
|
|
||||||
attributes[key] = self[key]
|
|
||||||
end
|
|
||||||
}
|
|
||||||
return if attributes.empty?
|
|
||||||
attributes
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Reference in a new issue