From daa15738f991d9373cba64e341ec3483d4676fbe Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Tue, 12 Mar 2013 10:45:25 +0100 Subject: [PATCH] Improved sla calculation. --- app/models/observer/ticket/escalation_calculation.rb | 2 +- app/models/ticket.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/models/observer/ticket/escalation_calculation.rb b/app/models/observer/ticket/escalation_calculation.rb index 62bf1ff56..b1b9eae9f 100644 --- a/app/models/observer/ticket/escalation_calculation.rb +++ b/app/models/observer/ticket/escalation_calculation.rb @@ -7,7 +7,7 @@ class Observer::Ticket::EscalationCalculation < ActiveRecord::Observer def after_update(record) # return if we run import mode - return if Setting.get('import_mode') + return if Setting.get('import_mode') && !Setting.get('import_igonre_sla') # prevent loops return if record[:escalation_calc] diff --git a/app/models/ticket.rb b/app/models/ticket.rb index 5d7fb984f..19fa1d3cc 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -501,6 +501,11 @@ class Ticket < ApplicationModel self.first_response_in_min = diff.round end + # set time over sla + if sla_selected.first_response_time && self.first_response_in_min + self.first_response_diff_in_min = sla_selected.first_response_time - self.first_response_in_min + end + # # update time # if sla_selected.close_time # created_at = Time.parse(self.created_at.to_s) @@ -525,6 +530,11 @@ class Ticket < ApplicationModel self.close_time_in_min = diff.round end + # set time over sla + if sla_selected.close_time && self.close_time_in_min + self.close_time_diff_in_min = sla_selected.close_time - self.close_time_in_min + end + self.save end