From cd22d1a15d867042e80d47de062dfa87fdced508 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 4 Dec 2023 14:24:44 +0530 Subject: [PATCH] fix: added sla & sla priority doctype --- .../crm_service_level_agreement/__init__.py | 0 .../crm_service_level_agreement.js | 21 ++++ .../crm_service_level_agreement.json | 96 +++++++++++++++++++ .../crm_service_level_agreement.py | 9 ++ .../test_crm_service_level_agreement.py | 9 ++ .../crm_service_level_priority/__init__.py | 0 .../crm_service_level_priority.js | 8 ++ .../crm_service_level_priority.json | 57 +++++++++++ .../crm_service_level_priority.py | 9 ++ .../test_crm_service_level_priority.py | 9 ++ 10 files changed, 218 insertions(+) create mode 100644 crm/fcrm/doctype/crm_service_level_agreement/__init__.py create mode 100644 crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.js create mode 100644 crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.json create mode 100644 crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py create mode 100644 crm/fcrm/doctype/crm_service_level_agreement/test_crm_service_level_agreement.py create mode 100644 crm/fcrm/doctype/crm_service_level_priority/__init__.py create mode 100644 crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.js create mode 100644 crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.json create mode 100644 crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.py create mode 100644 crm/fcrm/doctype/crm_service_level_priority/test_crm_service_level_priority.py diff --git a/crm/fcrm/doctype/crm_service_level_agreement/__init__.py b/crm/fcrm/doctype/crm_service_level_agreement/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.js b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.js new file mode 100644 index 00000000..d1c3549c --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.js @@ -0,0 +1,21 @@ +// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("CRM Service Level Agreement", { +// refresh(frm) { + +// }, +// }); + +frappe.ui.form.on("CRM Service Level Priority", { + priorities_add: function (frm, cdt, cdn) { + if (frm.doc.apply_on == "CRM Deal") { + frappe.model.set_value( + cdt, + cdn, + "reference_doctype", + "CRM Deal Status" + ); + } + }, +}); diff --git a/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.json b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.json new file mode 100644 index 00000000..11835677 --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.json @@ -0,0 +1,96 @@ +{ + "actions": [], + "allow_rename": 1, + "autoname": "field:sla_name", + "creation": "2023-12-04 13:07:18.426211", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "sla_name", + "apply_on", + "enabled", + "default", + "column_break_uxua", + "condition", + "section_break_ufaf", + "priorities" + ], + "fields": [ + { + "fieldname": "sla_name", + "fieldtype": "Data", + "in_list_view": 1, + "in_standard_filter": 1, + "label": "SLA Name", + "reqd": 1, + "unique": 1 + }, + { + "default": "0", + "fieldname": "enabled", + "fieldtype": "Check", + "label": "Enabled" + }, + { + "default": "0", + "fieldname": "default", + "fieldtype": "Check", + "label": "Default" + }, + { + "fieldname": "column_break_uxua", + "fieldtype": "Column Break" + }, + { + "description": "Simple Python Expression, Example: doc.status == 'Open' and doc.lead_source == 'Ads'", + "fieldname": "condition", + "fieldtype": "Code", + "label": "Condition", + "options": "Python" + }, + { + "fieldname": "apply_on", + "fieldtype": "Link", + "label": "Apply On", + "link_filters": "[[{\"fieldname\":\"apply_on\",\"field_option\":\"DocType\"},\"name\",\"in\",[\"CRM Lead\",\"CRM Deal\"]]]", + "options": "DocType", + "reqd": 1 + }, + { + "fieldname": "section_break_ufaf", + "fieldtype": "Section Break" + }, + { + "fieldname": "priorities", + "fieldtype": "Table", + "label": "Priorities", + "options": "CRM Service Level Priority", + "reqd": 1 + } + ], + "index_web_pages_for_search": 1, + "links": [], + "modified": "2023-12-04 13:49:09.547523", + "modified_by": "Administrator", + "module": "FCRM", + "name": "CRM Service Level Agreement", + "naming_rule": "By fieldname", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "modified", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py new file mode 100644 index 00000000..89895f8a --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_agreement/crm_service_level_agreement.py @@ -0,0 +1,9 @@ +# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class CRMServiceLevelAgreement(Document): + pass diff --git a/crm/fcrm/doctype/crm_service_level_agreement/test_crm_service_level_agreement.py b/crm/fcrm/doctype/crm_service_level_agreement/test_crm_service_level_agreement.py new file mode 100644 index 00000000..40e2555e --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_agreement/test_crm_service_level_agreement.py @@ -0,0 +1,9 @@ +# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors +# See license.txt + +# import frappe +from frappe.tests.utils import FrappeTestCase + + +class TestCRMServiceLevelAgreement(FrappeTestCase): + pass diff --git a/crm/fcrm/doctype/crm_service_level_priority/__init__.py b/crm/fcrm/doctype/crm_service_level_priority/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.js b/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.js new file mode 100644 index 00000000..ef808235 --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.js @@ -0,0 +1,8 @@ +// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("CRM Service Level Priority", { +// refresh(frm) { + +// }, +// }); diff --git a/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.json b/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.json new file mode 100644 index 00000000..294b94a7 --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.json @@ -0,0 +1,57 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2023-12-04 13:18:58.028384", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "default_priority", + "reference_doctype", + "priority", + "first_response_time" + ], + "fields": [ + { + "default": "0", + "fieldname": "default_priority", + "fieldtype": "Check", + "in_list_view": 1, + "label": "Default Priority" + }, + { + "fieldname": "priority", + "fieldtype": "Dynamic Link", + "in_list_view": 1, + "label": "Priority", + "options": "reference_doctype", + "reqd": 1 + }, + { + "fieldname": "first_response_time", + "fieldtype": "Duration", + "in_list_view": 1, + "label": "First Response TIme", + "reqd": 1 + }, + { + "default": "CRM Lead Status", + "fieldname": "reference_doctype", + "fieldtype": "Link", + "label": "DocType", + "options": "DocType" + } + ], + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2023-12-04 14:05:42.838493", + "modified_by": "Administrator", + "module": "FCRM", + "name": "CRM Service Level Priority", + "owner": "Administrator", + "permissions": [], + "sort_field": "modified", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.py b/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.py new file mode 100644 index 00000000..a7210a82 --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_priority/crm_service_level_priority.py @@ -0,0 +1,9 @@ +# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class CRMServiceLevelPriority(Document): + pass diff --git a/crm/fcrm/doctype/crm_service_level_priority/test_crm_service_level_priority.py b/crm/fcrm/doctype/crm_service_level_priority/test_crm_service_level_priority.py new file mode 100644 index 00000000..f1f5448b --- /dev/null +++ b/crm/fcrm/doctype/crm_service_level_priority/test_crm_service_level_priority.py @@ -0,0 +1,9 @@ +# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors +# See license.txt + +# import frappe +from frappe.tests.utils import FrappeTestCase + + +class TestCRMServiceLevelPriority(FrappeTestCase): + pass