Merge pull request #36150 from ankush/perf/desk_requests

perf: send SLA doctypes in boot
This commit is contained in:
Ankush Menat 2023-07-16 12:30:40 +05:30 committed by GitHub
commit c545399b96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 90 additions and 83 deletions

View File

@ -611,3 +611,8 @@ global_search_doctypes = {
additional_timeline_content = { additional_timeline_content = {
"*": ["erpnext.telephony.doctype.call_log.call_log.get_linked_call_logs"] "*": ["erpnext.telephony.doctype.call_log.call_log.get_linked_call_logs"]
} }
extend_bootinfo = [
"erpnext.support.doctype.service_level_agreement.service_level_agreement.add_sla_doctypes",
]

View File

@ -854,13 +854,7 @@ $(document).on('app_ready', function() {
// Show SLA dashboard // Show SLA dashboard
$(document).on('app_ready', function() { $(document).on('app_ready', function() {
frappe.call({ $.each(frappe.boot.service_level_agreement_doctypes, function(_i, d) {
method: 'erpnext.support.doctype.service_level_agreement.service_level_agreement.get_sla_doctypes',
callback: function(r) {
if (!r.message)
return;
$.each(r.message, function(_i, d) {
frappe.ui.form.on(d, { frappe.ui.form.on(d, {
onload: function(frm) { onload: function(frm) {
if (!frm.doc.service_level_agreement) if (!frm.doc.service_level_agreement)
@ -942,8 +936,6 @@ $(document).on('app_ready', function() {
}, },
}); });
}); });
}
});
}); });
function set_time_to_resolve_and_response(frm, apply_sla_for_resolution) { function set_time_to_resolve_and_response(frm, apply_sla_for_resolution) {

View File

@ -21,6 +21,7 @@ from frappe.utils import (
time_diff_in_seconds, time_diff_in_seconds,
to_timedelta, to_timedelta,
) )
from frappe.utils.caching import redis_cache
from frappe.utils.nestedset import get_ancestors_of from frappe.utils.nestedset import get_ancestors_of
from frappe.utils.safe_exec import get_safe_globals from frappe.utils.safe_exec import get_safe_globals
@ -209,6 +210,10 @@ class ServiceLevelAgreement(Document):
def on_update(self): def on_update(self):
set_documents_with_active_service_level_agreement() set_documents_with_active_service_level_agreement()
def clear_cache(self):
get_sla_doctypes.clear_cache()
return super().clear_cache()
def create_docfields(self, meta, service_level_agreement_fields): def create_docfields(self, meta, service_level_agreement_fields):
last_index = len(meta.fields) last_index = len(meta.fields)
@ -990,6 +995,7 @@ def get_user_time(user, to_string=False):
@frappe.whitelist() @frappe.whitelist()
@redis_cache()
def get_sla_doctypes(): def get_sla_doctypes():
doctypes = [] doctypes = []
data = frappe.get_all("Service Level Agreement", {"enabled": 1}, ["document_type"], distinct=1) data = frappe.get_all("Service Level Agreement", {"enabled": 1}, ["document_type"], distinct=1)
@ -998,3 +1004,7 @@ def get_sla_doctypes():
doctypes.append(entry.document_type) doctypes.append(entry.document_type)
return doctypes return doctypes
def add_sla_doctypes(bootinfo):
bootinfo.service_level_agreement_doctypes = get_sla_doctypes()