feat: dashboards
This commit is contained in:
parent
b318b83bb7
commit
ab97cd4db1
@ -51,7 +51,7 @@
|
|||||||
{
|
{
|
||||||
"fieldname": "section_break_01",
|
"fieldname": "section_break_01",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"label": "Support and Resolution"
|
"label": "Support Hours"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "support_and_resolution",
|
"fieldname": "support_and_resolution",
|
||||||
@ -75,7 +75,7 @@
|
|||||||
"read_only": 1
|
"read_only": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2019-06-05 13:37:20.342946",
|
"modified": "2019-06-06 12:58:03.464056",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Support",
|
"module": "Support",
|
||||||
"name": "Service Level",
|
"name": "Service Level",
|
||||||
|
|||||||
@ -0,0 +1,12 @@
|
|||||||
|
from frappe import _
|
||||||
|
|
||||||
|
def get_data():
|
||||||
|
return {
|
||||||
|
'fieldname': 'service_level',
|
||||||
|
'transactions': [
|
||||||
|
{
|
||||||
|
'label': _('Service Level Agreement'),
|
||||||
|
'items': ['Service Level Agreement']
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -1,24 +1,22 @@
|
|||||||
{
|
{
|
||||||
"autoname": "format:SLA-{service_level_agreement_name}",
|
"autoname": "format:SLA-{service_level}-{####}",
|
||||||
"creation": "2018-12-26 21:08:15.448812",
|
"creation": "2018-12-26 21:08:15.448812",
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"editable_grid": 1,
|
"editable_grid": 1,
|
||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
"field_order": [
|
"field_order": [
|
||||||
"service_level_agreement_name",
|
"service_level",
|
||||||
"customer",
|
"customer",
|
||||||
"default_service_level_agreement",
|
"default_service_level_agreement",
|
||||||
"holiday_list",
|
"holiday_list",
|
||||||
"column_break_2",
|
"column_break_2",
|
||||||
"service_level",
|
|
||||||
"employee_group",
|
"employee_group",
|
||||||
"default_priority",
|
"default_priority",
|
||||||
"agreement_details_section",
|
"agreement_details_section",
|
||||||
"start_date",
|
"start_date",
|
||||||
"agreement_status",
|
"active",
|
||||||
"column_break_7",
|
"column_break_7",
|
||||||
"end_date",
|
"end_date",
|
||||||
"ignore_start_and_end_date",
|
|
||||||
"response_and_resolution_time_section",
|
"response_and_resolution_time_section",
|
||||||
"priorities",
|
"priorities",
|
||||||
"support_and_resolution_section_break",
|
"support_and_resolution_section_break",
|
||||||
@ -30,6 +28,7 @@
|
|||||||
"fieldname": "customer",
|
"fieldname": "customer",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 1,
|
||||||
"label": "Customer",
|
"label": "Customer",
|
||||||
"options": "Customer",
|
"options": "Customer",
|
||||||
"set_only_once": 1
|
"set_only_once": 1
|
||||||
@ -39,7 +38,6 @@
|
|||||||
"depends_on": "eval: !doc.customer;",
|
"depends_on": "eval: !doc.customer;",
|
||||||
"fieldname": "default_service_level_agreement",
|
"fieldname": "default_service_level_agreement",
|
||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"in_list_view": 1,
|
|
||||||
"label": "Default Service Level Agreement",
|
"label": "Default Service Level Agreement",
|
||||||
"set_only_once": 1
|
"set_only_once": 1
|
||||||
},
|
},
|
||||||
@ -47,6 +45,7 @@
|
|||||||
"fieldname": "service_level",
|
"fieldname": "service_level",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 1,
|
||||||
"label": "Service Level",
|
"label": "Service Level",
|
||||||
"options": "Service Level",
|
"options": "Service Level",
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
@ -68,6 +67,8 @@
|
|||||||
"fetch_from": "service_level.employee_group",
|
"fetch_from": "service_level.employee_group",
|
||||||
"fieldname": "employee_group",
|
"fieldname": "employee_group",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 1,
|
||||||
"label": "Employee Group",
|
"label": "Employee Group",
|
||||||
"options": "Employee Group",
|
"options": "Employee Group",
|
||||||
"read_only": 1
|
"read_only": 1
|
||||||
@ -83,14 +84,6 @@
|
|||||||
"fieldtype": "Date",
|
"fieldtype": "Date",
|
||||||
"label": "Start Date"
|
"label": "Start Date"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"default": "Active",
|
|
||||||
"fieldname": "agreement_status",
|
|
||||||
"fieldtype": "Select",
|
|
||||||
"label": "Agreement Status",
|
|
||||||
"options": "Active\nExpired",
|
|
||||||
"read_only": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"depends_on": "eval: !doc.default_contract",
|
"depends_on": "eval: !doc.default_contract",
|
||||||
"fieldname": "column_break_7",
|
"fieldname": "column_break_7",
|
||||||
@ -106,13 +99,13 @@
|
|||||||
"collapsible": 1,
|
"collapsible": 1,
|
||||||
"fieldname": "response_and_resolution_time_section",
|
"fieldname": "response_and_resolution_time_section",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"label": "Priorities, Response and Resolution Time"
|
"label": "Response and Resolution Time"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"collapsible": 1,
|
"collapsible": 1,
|
||||||
"fieldname": "support_and_resolution_section_break",
|
"fieldname": "support_and_resolution_section_break",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"label": "Support and Resolution"
|
"label": "Support Hours"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "support_and_resolution",
|
"fieldname": "support_and_resolution",
|
||||||
@ -126,21 +119,6 @@
|
|||||||
"label": "Priorities",
|
"label": "Priorities",
|
||||||
"options": "Service Level Priority"
|
"options": "Service Level Priority"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"fieldname": "service_level_agreement_name",
|
|
||||||
"fieldtype": "Data",
|
|
||||||
"label": "Service Level Agreement Name",
|
|
||||||
"reqd": 1,
|
|
||||||
"unique": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"default": "0",
|
|
||||||
"depends_on": "eval: !doc.default_service_level_agreement",
|
|
||||||
"fieldname": "ignore_start_and_end_date",
|
|
||||||
"fieldtype": "Check",
|
|
||||||
"label": "Ignore Start and End Date",
|
|
||||||
"set_only_once": 1
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"fetch_from": "service_level.default_priority",
|
"fetch_from": "service_level.default_priority",
|
||||||
"fieldname": "default_priority",
|
"fieldname": "default_priority",
|
||||||
@ -148,9 +126,16 @@
|
|||||||
"label": "Default Priority",
|
"label": "Default Priority",
|
||||||
"options": "Issue Priority",
|
"options": "Issue Priority",
|
||||||
"read_only": 1
|
"read_only": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "1",
|
||||||
|
"fieldname": "active",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Active",
|
||||||
|
"read_only": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2019-06-06 12:03:11.247979",
|
"modified": "2019-06-06 12:56:24.545060",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Support",
|
"module": "Support",
|
||||||
"name": "Service Level Agreement",
|
"name": "Service Level Agreement",
|
||||||
|
|||||||
@ -14,14 +14,12 @@ class ServiceLevelAgreement(Document):
|
|||||||
if frappe.db.exists("Service Level Agreement", {"default_service_level_agreement": "1", "name": ["!=", self.name]}):
|
if frappe.db.exists("Service Level Agreement", {"default_service_level_agreement": "1", "name": ["!=", self.name]}):
|
||||||
frappe.throw(_("A Default Service Level Agreement already exists."))
|
frappe.throw(_("A Default Service Level Agreement already exists."))
|
||||||
else:
|
else:
|
||||||
if not self.ignore_start_and_end_date and not (self.start_date and self.end_date):
|
if self.start_date and self.end_date:
|
||||||
frappe.throw(_("Enter Start and End Date for the Agreement."))
|
if self.start_date >= self.end_date:
|
||||||
|
frappe.throw(_("Start Date of Agreement can't be greater than or equal to End Date."))
|
||||||
|
|
||||||
if not self.ignore_start_and_end_date and self.start_date >= self.end_date:
|
if self.end_date < frappe.utils.getdate():
|
||||||
frappe.throw(_("Start Date of Agreement can't be greater than or equal to End Date."))
|
frappe.throw(_("End Date of Agreement can't be less than today."))
|
||||||
|
|
||||||
if not self.ignore_start_and_end_date and self.end_date < frappe.utils.getdate():
|
|
||||||
frappe.throw(_("End Date of Agreement can't be less than today."))
|
|
||||||
|
|
||||||
def get_service_level_agreement_priority(self, priority):
|
def get_service_level_agreement_priority(self, priority):
|
||||||
priority = frappe.get_doc("Service Level Priority", {"priority": priority, "parent": self.name})
|
priority = frappe.get_doc("Service Level Priority", {"priority": priority, "parent": self.name})
|
||||||
@ -36,18 +34,18 @@ class ServiceLevelAgreement(Document):
|
|||||||
|
|
||||||
def check_agreement_status():
|
def check_agreement_status():
|
||||||
service_level_agreements = frappe.get_list("Service Level Agreement", filters=[
|
service_level_agreements = frappe.get_list("Service Level Agreement", filters=[
|
||||||
{"agreement_status": "Active"},
|
{"active": 1},
|
||||||
{"default_service_level_agreement": 0}
|
{"default_service_level_agreement": 0}
|
||||||
], fields=["name", "end_date"])
|
], fields=["name"])
|
||||||
|
|
||||||
for service_level_agreement in service_level_agreements:
|
for service_level_agreement in service_level_agreements:
|
||||||
if service_level_agreement.end_date < frappe.utils.getdate():
|
doc = frappe.get_doc("Service Level Agreement", service_level_agreement.name)
|
||||||
frappe.db.set_value("Service Level Agreement", service_level_agreement.name,
|
if doc.end_date and doc.end_date < frappe.utils.getdate():
|
||||||
"agreement_status", "Expired")
|
frappe.db.set_value("Service Level Agreement", service_level_agreement.name, "active", 0)
|
||||||
|
|
||||||
def get_active_service_level_agreement_for(priority, customer=None, service_level_agreement=None):
|
def get_active_service_level_agreement_for(priority, customer=None, service_level_agreement=None):
|
||||||
filters = [
|
filters = [
|
||||||
["Service Level Agreement", "agreement_status", "=", "Active"]
|
["Service Level Agreement", "active", "=", 1]
|
||||||
]
|
]
|
||||||
|
|
||||||
if priority:
|
if priority:
|
||||||
|
|||||||
@ -0,0 +1,12 @@
|
|||||||
|
from frappe import _
|
||||||
|
|
||||||
|
def get_data():
|
||||||
|
return {
|
||||||
|
'fieldname': 'service_level_agreement',
|
||||||
|
'transactions': [
|
||||||
|
{
|
||||||
|
'label': _('Issue'),
|
||||||
|
'items': ['Issue']
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user