mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-27 00:44:45 +00:00
refactor: Issue form cleaned up and renamed Minutes to First Response field (#23066)
* refactor: re-order fields in Issue DocType * refactor: rename Mins to First Response to First Response Time * refactor: First Response Time Reports for Issue and Opportunity * fix: added patch for renamed fields and setting durations * chore: update CRM and Support Desk Pages for Response Time reports * fix: first response time for opportunity report * fix: patch Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com>
This commit is contained in:
@@ -1,33 +1,44 @@
|
||||
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
|
||||
// For license information, please see license.txt
|
||||
/* eslint-disable */
|
||||
|
||||
frappe.query_reports["Minutes to First Response for Opportunity"] = {
|
||||
frappe.query_reports["First Response Time for Opportunity"] = {
|
||||
"filters": [
|
||||
{
|
||||
"fieldname": "from_date",
|
||||
"label": __("From Date"),
|
||||
"fieldtype": "Date",
|
||||
'reqd': 1,
|
||||
"reqd": 1,
|
||||
"default": frappe.datetime.add_days(frappe.datetime.nowdate(), -30)
|
||||
},
|
||||
{
|
||||
"fieldname": "to_date",
|
||||
"label": __("To Date"),
|
||||
"fieldtype": "Date",
|
||||
'reqd': 1,
|
||||
"reqd": 1,
|
||||
"default": frappe.datetime.nowdate()
|
||||
},
|
||||
],
|
||||
get_chart_data: function (columns, result) {
|
||||
get_chart_data: function (_columns, result) {
|
||||
return {
|
||||
data: {
|
||||
labels: result.map(d => d[0]),
|
||||
datasets: [{
|
||||
name: 'Mins to first response',
|
||||
name: "First Response Time",
|
||||
values: result.map(d => d[1])
|
||||
}]
|
||||
},
|
||||
type: 'line',
|
||||
type: "line",
|
||||
tooltipOptions: {
|
||||
formatTooltipY: d => {
|
||||
let duration_options = {
|
||||
hide_days: 0,
|
||||
hide_seconds: 0
|
||||
};
|
||||
value = frappe.utils.get_formatted_duration(d, duration_options);
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"add_total_row": 0,
|
||||
"creation": "2020-08-10 18:34:19.083872",
|
||||
"disable_prepared_report": 0,
|
||||
"disabled": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "Report",
|
||||
"idx": 0,
|
||||
"is_standard": "Yes",
|
||||
"letter_head": "Test 2",
|
||||
"modified": "2020-08-10 18:34:19.083872",
|
||||
"modified_by": "Administrator",
|
||||
"module": "CRM",
|
||||
"name": "First Response Time for Opportunity",
|
||||
"owner": "Administrator",
|
||||
"prepared_report": 0,
|
||||
"ref_doctype": "Opportunity",
|
||||
"report_name": "First Response Time for Opportunity",
|
||||
"report_type": "Script Report",
|
||||
"roles": [
|
||||
{
|
||||
"role": "Sales User"
|
||||
},
|
||||
{
|
||||
"role": "Sales Manager"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute(filters=None):
|
||||
columns = [
|
||||
{
|
||||
'fieldname': 'creation_date',
|
||||
'label': 'Date',
|
||||
'fieldtype': 'Date',
|
||||
'width': 300
|
||||
},
|
||||
{
|
||||
'fieldname': 'first_response_time',
|
||||
'fieldtype': 'Duration',
|
||||
'label': 'First Response Time',
|
||||
'width': 300
|
||||
},
|
||||
]
|
||||
|
||||
data = frappe.db.sql('''
|
||||
SELECT
|
||||
date(creation) as creation_date,
|
||||
avg(first_response_time) as avg_response_time
|
||||
FROM tabOpportunity
|
||||
WHERE
|
||||
date(creation) between %s and %s
|
||||
and first_response_time > 0
|
||||
GROUP BY creation_date
|
||||
ORDER BY creation_date desc
|
||||
''', (filters.from_date, filters.to_date))
|
||||
|
||||
return columns, data
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"add_total_row": 0,
|
||||
"apply_user_permissions": 0,
|
||||
"creation": "2016-06-17 11:28:25.867258",
|
||||
"disabled": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "Report",
|
||||
"idx": 2,
|
||||
"is_standard": "Yes",
|
||||
"modified": "2017-02-24 20:06:08.801109",
|
||||
"modified_by": "Administrator",
|
||||
"module": "CRM",
|
||||
"name": "Minutes to First Response for Opportunity",
|
||||
"owner": "Administrator",
|
||||
"ref_doctype": "Opportunity",
|
||||
"report_name": "Minutes to First Response for Opportunity",
|
||||
"report_type": "Script Report",
|
||||
"roles": [
|
||||
{
|
||||
"role": "Sales User"
|
||||
},
|
||||
{
|
||||
"role": "Sales Manager"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute(filters=None):
|
||||
columns = [
|
||||
{
|
||||
'fieldname': 'creation_date',
|
||||
'label': 'Date',
|
||||
'fieldtype': 'Date'
|
||||
},
|
||||
{
|
||||
'fieldname': 'mins',
|
||||
'fieldtype': 'Float',
|
||||
'label': 'Mins to First Response'
|
||||
},
|
||||
]
|
||||
|
||||
data = frappe.db.sql('''select date(creation) as creation_date,
|
||||
avg(mins_to_first_response) as mins
|
||||
from tabOpportunity
|
||||
where date(creation) between %s and %s
|
||||
and mins_to_first_response > 0
|
||||
group by creation_date order by creation_date desc''', (filters.from_date, filters.to_date))
|
||||
|
||||
return columns, data
|
||||
Reference in New Issue
Block a user