escalation_calculation.rb 675 B

1234567891011121314151617181920212223242526
  1. class Observer::Ticket::EscalationCalculation < ActiveRecord::Observer
  2. observe 'ticket', 'ticket::_article'
  3. def after_create(record)
  4. end
  5. def after_update(record)
  6. # return if we run import mode
  7. return if Setting.get('import_mode') && !Setting.get('import_ignore_sla')
  8. # prevent loops
  9. return if record[:escalation_calc]
  10. record[:escalation_calc] = true
  11. # do not recalculation if first respons is already out
  12. if record.class.name == 'Ticket::Article'
  13. return true if record.ticket.first_response
  14. record.ticket.escalation_calculation
  15. return true
  16. end
  17. # update escalation
  18. record.escalation_calculation
  19. end
  20. end