2016-11-25 16:10:37 +00:00
|
|
|
module Import
|
|
|
|
module OTRS
|
|
|
|
class History
|
|
|
|
class StateUpdate < Import::OTRS::History
|
|
|
|
def init_callback(history)
|
|
|
|
data = history['Name']
|
|
|
|
# "%%new%%open%%"
|
|
|
|
from = nil
|
|
|
|
to = nil
|
2021-05-12 11:37:44 +00:00
|
|
|
if data =~ %r{%%(.+?)%%(.+?)%%}
|
2016-11-25 16:10:37 +00:00
|
|
|
from = $1
|
|
|
|
to = $2
|
|
|
|
state_from = ::Ticket::State.lookup(name: from)
|
|
|
|
state_to = ::Ticket::State.lookup(name: to)
|
|
|
|
if state_from
|
|
|
|
from_id = state_from.id
|
|
|
|
end
|
|
|
|
if state_to
|
|
|
|
to_id = state_to.id
|
|
|
|
end
|
|
|
|
end
|
|
|
|
@history_attributes = {
|
2018-12-19 17:31:51 +00:00
|
|
|
id: history['HistoryID'],
|
|
|
|
o_id: history['TicketID'],
|
|
|
|
history_type: 'updated',
|
|
|
|
history_object: 'Ticket',
|
2016-11-25 16:10:37 +00:00
|
|
|
history_attribute: 'state',
|
2018-12-19 17:31:51 +00:00
|
|
|
value_from: from,
|
|
|
|
id_from: from_id,
|
|
|
|
value_to: to,
|
|
|
|
id_to: to_id,
|
|
|
|
created_at: history['CreateTime'],
|
|
|
|
created_by_id: history['CreateBy']
|
2016-11-25 16:10:37 +00:00
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|