fix: time to respond & resolve indicators
This commit is contained in:
parent
1a76b3801a
commit
476e81a631
@ -12,7 +12,7 @@ def execute():
|
|||||||
).set(
|
).set(
|
||||||
doctype.agreement_status, 'First Response Due'
|
doctype.agreement_status, 'First Response Due'
|
||||||
).where(
|
).where(
|
||||||
(doctype.first_responded_on.isnull()) | (doctype.first_responded_on == '')
|
doctype.first_responded_on.isnull()
|
||||||
).run()
|
).run()
|
||||||
|
|
||||||
frappe.qb.update(
|
frappe.qb.update(
|
||||||
@ -24,4 +24,4 @@ def execute():
|
|||||||
).run()
|
).run()
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
frappe.log_error('Failed to Patch SLA Status')
|
frappe.log_error(title='Failed to Patch SLA Status')
|
||||||
@ -831,7 +831,7 @@ $(document).on('app_ready', function() {
|
|||||||
|
|
||||||
refresh: function(frm) {
|
refresh: function(frm) {
|
||||||
if (frm.doc.status !== 'Closed' && frm.doc.service_level_agreement
|
if (frm.doc.status !== 'Closed' && frm.doc.service_level_agreement
|
||||||
&& frm.doc.agreement_status === 'Ongoing') {
|
&& ['First Response Due', 'Resolution Due'].includes(frm.doc.agreement_status)) {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
'method': 'frappe.client.get',
|
'method': 'frappe.client.get',
|
||||||
args: {
|
args: {
|
||||||
@ -884,8 +884,8 @@ $(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) {
|
||||||
frm.dashboard.clear_headline();
|
frm.dashboard.clear_headline();
|
||||||
|
|
||||||
let time_to_respond = get_status(frm.doc.response_by_variance);
|
let time_to_respond = get_status(frm.doc.response_by);
|
||||||
if (!frm.doc.first_responded_on && frm.doc.agreement_status === 'Ongoing') {
|
if (!frm.doc.first_responded_on) {
|
||||||
time_to_respond = get_time_left(frm.doc.response_by, frm.doc.agreement_status);
|
time_to_respond = get_time_left(frm.doc.response_by, frm.doc.agreement_status);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -899,8 +899,8 @@ function set_time_to_resolve_and_response(frm, apply_sla_for_resolution) {
|
|||||||
|
|
||||||
|
|
||||||
if (apply_sla_for_resolution) {
|
if (apply_sla_for_resolution) {
|
||||||
let time_to_resolve = get_status(frm.doc.resolution_by_variance);
|
let time_to_resolve = get_status(frm.doc.resolution_by);
|
||||||
if (!frm.doc.resolution_date && frm.doc.agreement_status === 'Ongoing') {
|
if (!frm.doc.resolution_date) {
|
||||||
time_to_resolve = get_time_left(frm.doc.resolution_by, frm.doc.agreement_status);
|
time_to_resolve = get_time_left(frm.doc.resolution_by, frm.doc.agreement_status);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -924,8 +924,9 @@ function get_time_left(timestamp, agreement_status) {
|
|||||||
return {'diff_display': diff_display, 'indicator': indicator};
|
return {'diff_display': diff_display, 'indicator': indicator};
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_status(variance) {
|
function get_status(timestamp) {
|
||||||
if (variance > 0) {
|
const time_left = moment(timestamp).diff(moment());
|
||||||
|
if (time_left >= 0) {
|
||||||
return {'diff_display': 'Fulfilled', 'indicator': 'green'};
|
return {'diff_display': 'Fulfilled', 'indicator': 'green'};
|
||||||
} else {
|
} else {
|
||||||
return {'diff_display': 'Failed', 'indicator': 'red'};
|
return {'diff_display': 'Failed', 'indicator': 'red'};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user