Thank you very much @fliebe92 for looking at this issue.
Here the result:
[1] pry(main)> ticket = Ticket.find(106081)
[1] pry(main)> ticket = Ticket.find(106081)h do |k|
class = ticket.search_index_attribute_method(k)
next if !relation_class
begin
relation_model = relation_class.lookup(id: ticket.attributes[k])
rescue
puts "E=> #<Ticket:0x00007fc8ed09e738
id: 106081,
group_id: 4,
priority_id: 2,
state_id: 4,
organization_id: 1,
number: "202312110100003",
title: "Extension de stockage après 1To",
owner_id: 28,
customer_id: 791,
note: nil,
first_response_at: nil,
first_response_escalation_at: nil,
first_response_in_min: nil,
first_response_diff_in_min: nil,
close_at: Tue, 12 Dec 2023 00:00:00.000000000 UTC +00:00,
close_escalation_at: nil,
close_in_min: nil,
close_diff_in_min: nil,
update_escalation_at: nil,
update_in_min: nil,
update_diff_in_min: nil,
last_close_at: nil,
last_contact_at: nil,
last_contact_agent_at: nil,
last_contact_customer_at: nil,
last_owner_update_at: nil,
create_article_type_id: 5,
create_article_sender_id: 28,
article_count: 3,
escalation_at: nil,
pending_time: nil,
type: nil,
time_unit: nil,
preferences: {},
updated_by_id: 28,
created_by_id: 28,
created_at: Mon, 11 Dec 2023 00:00:00.000000000 UTC +00:00,
updated_at: Tue, 12 Dec 2023 00:00:00.000000000 UTC +00:00>
[2] pry(main)> main)>
[3] pry(main)> ticket.search_index_attribute_lookup.keys.each do |k|
[3] pry(main)* relation_class = ticket.search_index_attribute_method(k)
[3] pry(main)*
[3] pry(main)* next if !relation_class
=> #{ticket.attributes[k]}, #{relation_class}"
end
[3] pry(main)*
[3] pry(main)* begin
[3] pry(main)* relation_model = relation_class.lookup(id: ticket.attributes[k])
[3] pry(main)* rescue
[3] pry(main)* puts "Error looking up #{k} => #{ticket.attributes[k]}, #{relation_class}"
[3] pry(main)* end
[3] pry(main)* end
NoMethodError: undefined method `lookup' for NilClass:Class
relation_model = relation_class.lookup(id: attributes[attribute_name])
^^^^^^^
from /opt/zammad/app/models/application_model/can_lookup_search_index_attributes.rb:104:in `search_index_value_by_attribute'
dex_attribute_lookup.keys.each do |k|06081)
relation_class = ticket.=> #<Ticket:0x00007fc8ed77ab10
id: 106081,
group_id: 4,
priority_id: 2,
state_id: 4,
organization_id: 1,
number: "202312110100003",
title: "Extension de stockage après 1To",
owner_id: 28,
customer_id: 791,
note: nil,
first_response_at: nil,
first_response_escalation_at: nil,
first_response_in_min: nil,
first_response_diff_in_min: nil,
close_at: Tue, 12 Dec 2023 00:00:00.000000000 UTC +00:00,
close_escalation_at: nil,
close_in_min: nil,
close_diff_in_min: nil,
update_escalation_at: nil,
update_in_min: nil,
update_diff_in_min: nil,
last_close_at: nil,
last_contact_at: nil,
last_contact_agent_at: nil,
last_contact_customer_at: nil,
last_owner_update_at: nil,
create_article_type_id: 5,
create_article_sender_id: 28,
article_count: 3,
escalation_at: nil,
pending_time: nil,
type: nil,
time_unit: nil,
preferences: {},
updated_by_id: 28,
created_by_id: 28,
created_at: Mon, 11 Dec 2023 00:00:00.000000000 UTC +00:00,
updated_at: Tue, 12 Dec 2023 00:00:00.000000000 UTC +00:00>
[5] pry(main)>
[6] pry(main)> ticket.search_index_attribute_lookup.keys.each do |k|
[6] pry(main)* relation_class = ticket.search_index_attribute_method(k)
[6] pry(main)* ain)*
[6] pry(main)* next if !relation_class
[6] pry(main)* next if !relation_class
[6] pry(main)*
[6] pry(main)* begin begin
ation_model = r[6] pry(main)* relation_model = relation_class.lookup(id: ticket.attributes[k])
[6] pry(main)* relation_model = relation_class.lookup(id: ticket.attributes[k])
[6] pry(main)* rescue rescue
[6] pry(main)* puts "Error looking up #{k} => #{ticket.attributes[k]}, #{relation_class}" _class}"
[6] pry(main)* end end
NoMethodError: undefined method `lookup' for NilClass:Class
relation_model = relation_class.lookup(id: attributes[attribute_name])
^^^^^^^
from /opt/zammad/app/models/application_model/can_lookup_search_index_attributes.rb:104:in `search_index_value_by_attribute'