Added generic lookup of data to store in ES.
This commit is contained in:
parent
e16a7be11d
commit
20d120a4ef
3 changed files with 51 additions and 4 deletions
|
@ -55,6 +55,28 @@ returns
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
=begin
|
||||||
|
|
||||||
|
get data to store in search index
|
||||||
|
|
||||||
|
ticket = Ticket.find(123)
|
||||||
|
result = ticket.search_index_data
|
||||||
|
|
||||||
|
returns
|
||||||
|
|
||||||
|
result = true # false
|
||||||
|
|
||||||
|
=end
|
||||||
|
|
||||||
|
def search_index_data
|
||||||
|
data = []
|
||||||
|
['name', 'note'].each { |key|
|
||||||
|
data.push self[key] if self[key]
|
||||||
|
}
|
||||||
|
return data[0] if !data[1]
|
||||||
|
data
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
@ -92,10 +114,8 @@ returns
|
||||||
|
|
||||||
# get name of ref object
|
# get name of ref object
|
||||||
value = nil
|
value = nil
|
||||||
if relation_model['name']
|
if relation_model.respond_to?('search_index_data')
|
||||||
value = relation_model['name']
|
value = relation_model.send('search_index_data')
|
||||||
elsif relation_model.respond_to?('fullname')
|
|
||||||
value = relation_model.send('fullname')
|
|
||||||
end
|
end
|
||||||
next if !value
|
next if !value
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ require 'digest/md5'
|
||||||
class User < ApplicationModel
|
class User < ApplicationModel
|
||||||
include User::Assets
|
include User::Assets
|
||||||
extend User::Search
|
extend User::Search
|
||||||
|
include User::SearchIndex
|
||||||
|
|
||||||
before_create :check_name, :check_email, :check_login, :check_image, :check_password
|
before_create :check_name, :check_email, :check_login, :check_image, :check_password
|
||||||
before_update :check_password, :check_image, :check_email, :check_login_update
|
before_update :check_password, :check_image, :check_email, :check_login_update
|
||||||
|
|
26
app/models/user/search_index.rb
Normal file
26
app/models/user/search_index.rb
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
|
||||||
|
|
||||||
|
module User::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
|
||||||
|
data = []
|
||||||
|
data.push "#{ self['firstname'] } #{ self['lastname'] }"
|
||||||
|
['login', 'firstname', 'lastname', 'phone', 'email', 'city', 'country', 'note'].each { |key|
|
||||||
|
data.push self[key] if self[key]
|
||||||
|
}
|
||||||
|
data
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue