feat: auto assign lead/opportunity to lead owner, customer account manager

This commit is contained in:
Rushabh Mehta
2019-04-12 09:04:17 +05:30
parent 0ff5a7b30f
commit 4f49ce4124
6 changed files with 1673 additions and 1497 deletions

View File

@@ -12,6 +12,7 @@ from datetime import datetime, timedelta
from frappe.model.mapper import get_mapped_doc
from frappe.utils.user import is_website_user
from ..service_level_agreement.service_level_agreement import get_active_service_level_agreement_for
from erpnext.crm.doctype.opportunity.opportunity import assign_to_user
sender_field = "raised_by"
@@ -40,6 +41,9 @@ class Issue(Document):
self.create_communication()
self.flags.communication_created = None
# assign to customer account manager or lead owner
assign_to_user(self, 'subject')
def set_lead_contact(self, email_id):
import email.utils

View File

@@ -8,8 +8,14 @@ from erpnext.support.doctype.service_level_agreement.test_service_level_agreemen
from frappe.utils import now_datetime
import datetime
from datetime import timedelta
from frappe.desk.form import assign_to
class TestIssue(unittest.TestCase):
def test_assignment(self):
frappe.db.set_value('Customer', '_Test Customer', 'account_manager', 'test1@example.com')
doc = make_issue(customer='_Test Customer')
self.assertEqual(assign_to.get(dict(doctype = doc.doctype, name = doc.name))[0].get('owner'), 'test1@example.com')
def test_response_time_and_resolution_time_based_on_different_sla(self):
make_service_level_agreement()
@@ -54,7 +60,7 @@ class TestIssue(unittest.TestCase):
def make_issue(creation, customer=None):
def make_issue(creation=None, customer=None):
issue = frappe.get_doc({
"doctype": "Issue",