mirror of
https://github.com/frappe/erpnext.git
synced 2026-02-15 15:45:01 +00:00
fix: set first_response_time on status change of issue
This commit is contained in:
@@ -310,7 +310,7 @@ def is_first_response(issue):
|
||||
|
||||
|
||||
def calculate_first_response_time(issue, first_responded_on):
|
||||
issue_creation_date = issue.service_level_agreement_creation or issue.creation
|
||||
issue_creation_date = get_datetime(issue.service_level_agreement_creation or issue.creation)
|
||||
issue_creation_time = get_time_in_seconds(issue_creation_date)
|
||||
first_responded_on_in_seconds = get_time_in_seconds(first_responded_on)
|
||||
support_hours = frappe.get_cached_doc(
|
||||
|
||||
@@ -25,7 +25,7 @@ from frappe.utils.caching import redis_cache
|
||||
from frappe.utils.nestedset import get_ancestors_of
|
||||
from frappe.utils.safe_exec import get_safe_globals
|
||||
|
||||
from erpnext.support.doctype.issue.issue import get_holidays
|
||||
from erpnext.support.doctype.issue.issue import calculate_first_response_time, get_holidays
|
||||
|
||||
|
||||
class ServiceLevelAgreement(Document):
|
||||
@@ -552,6 +552,8 @@ def handle_status_change(doc, apply_sla_for_resolution):
|
||||
def set_first_response():
|
||||
if doc.meta.has_field("first_responded_on") and not doc.get("first_responded_on"):
|
||||
doc.first_responded_on = now_time
|
||||
if doc.meta.has_field("first_response_time"):
|
||||
doc.first_response_time = calculate_first_response_time(doc, doc.first_responded_on)
|
||||
if get_datetime(doc.get("first_responded_on")) > get_datetime(doc.get("response_by")):
|
||||
record_assigned_users_on_failure(doc)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user