From 28453efeced7e2d449b817b5b4d894977dca7249 Mon Sep 17 00:00:00 2001 From: Maxwell Morais Date: Mon, 16 May 2016 00:50:03 -0300 Subject: [PATCH] Small improvement in maintenance scheduler This improvement is intended to start disable blocking Maintenance Schedule submit, when the `Sales Person` does not have a `user_id` in the Employee! The old logic try to use the `sales_person` email_id or the `owner` to create the event, but due some fails in the code, it dont occurs! --- .../maintenance_schedule.py | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py index 5fab1ace72..7d762f49ee 100644 --- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py +++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py @@ -49,26 +49,28 @@ class MaintenanceSchedule(TransactionBase): if d.sales_person not in email_map: sp = frappe.get_doc("Sales Person", d.sales_person) - email_map[d.sales_person] = sp.get_email_id() + try: + email_map[d.sales_person] = sp.get_email_id() + except frappe.ValidationError: + pass scheduled_date = frappe.db.sql("""select scheduled_date from `tabMaintenance Schedule Detail` where sales_person=%s and item_code=%s and parent=%s""", (d.sales_person, d.item_code, self.name), as_dict=1) for key in scheduled_date: - if email_map[d.sales_person]: - description = "Reference: %s, Item Code: %s and Customer: %s" % \ - (self.name, d.item_code, self.customer) - frappe.get_doc({ - "doctype": "Event", - "owner": email_map[d.sales_person] or self.owner, - "subject": description, - "description": description, - "starts_on": cstr(key["scheduled_date"]) + " 10:00:00", - "event_type": "Private", - "ref_type": self.doctype, - "ref_name": self.name - }).insert(ignore_permissions=1) + description = "Reference: %s, Item Code: %s and Customer: %s" % \ + (self.name, d.item_code, self.customer) + frappe.get_doc({ + "doctype": "Event", + "owner": email_map.get(d.sales_person, self.owner), + "subject": description, + "description": description, + "starts_on": cstr(key["scheduled_date"]) + " 10:00:00", + "event_type": "Private", + "ref_type": self.doctype, + "ref_name": self.name + }).insert(ignore_permissions=1) frappe.db.set(self, 'status', 'Submitted')