12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # Copyright (C) 2012-2014 Zammad Foundation, http://zammad-foundation.org/
- module Ticket::HistoryLog
- =begin
- create log activity for this ticket
- ticket = Ticket.find(123)
- result = ticket.history_create( 'created', user_id )
- returns
- result = true # false
- =end
- def history_log (type, user_id, data = {})
- data[:o_id] = self['id']
- data[:history_type] = type
- data[:history_object] = self.class.name
- data[:related_o_id] = nil
- data[:related_history_object] = nil
- data[:created_by_id] = user_id
- History.add(data)
- end
- =begin
- get log activity for this ticket
- ticket = Ticket.find(123)
- result = ticket.history_get()
- returns
- result = [
- {
- :type => 'created',
- :object => 'Ticket',
- :created_by_id => 3,
- :created_at => "2013-08-19 20:41:33",
- },
- {
- :type => 'updated',
- :object => 'Ticket',
- :attribute => 'priority',
- :o_id => 1,
- :id_to => 3,
- :id_from => 2,
- :value_from => "low",
- :value_to => "high",
- :created_by_id => 3,
- :created_at => "2013-08-19 20:41:33",
- },
- ]
- =end
- def history_get(fulldata = false)
- list = History.list( self.class.name, self['id'], 'Ticket::Article' )
- return list if !fulldata
- # get related objects
- assets = {}
- list.each {|item|
- record = Kernel.const_get( item['object'] ).find( item['o_id'] )
- assets = record.assets(assets)
- if item['related_object']
- record = Kernel.const_get( item['related_object'] ).find( item['related_o_id'] )
- assets = record.assets(assets)
- end
- }
- return {
- :history => list,
- :assets => assets,
- }
- end
- end
|