first_response.rb 803 B

12345678910111213141516171819202122232425262728
  1. class Observer::Ticket::FirstResponse < ActiveRecord::Observer
  2. observe 'ticket::_article'
  3. def after_create(record)
  4. # puts 'check first response'
  5. # return if we run import mode
  6. return if Setting.get('import_mode')
  7. # if article in internal
  8. return true if record.internal
  9. # if sender is not agent
  10. return true if Ticket::Article::Sender.lookup( :id => record.ticket_article_sender_id ).name != 'Agent'
  11. # if article is a message to customer
  12. return true if !Ticket::Article::Type.lookup( :id => record.ticket_article_type_id ).communication
  13. # check if first_response is already set
  14. return true if record.ticket.first_response
  15. # set first_response
  16. record.ticket.first_response = record.created_at
  17. # save ticket
  18. record.ticket.save
  19. end
  20. end