Setting preferred driver email in delivery trip (#19832)
* fix: add driver's preferred contact email in delivery trip * fix: modify driver's preferred email patch and blank field checks * fix: patch file fix * fix: patch changes to improve speed * fix: removal of conflicts Co-authored-by: Nabin Hait <nabinhait@gmail.com>
This commit is contained in:
parent
6e8a9286c2
commit
8c4cf12c93
@ -164,6 +164,12 @@ class Employee(NestedSet):
|
||||
if self.personal_email:
|
||||
validate_email_address(self.personal_email, True)
|
||||
|
||||
def set_preferred_email(self):
|
||||
preferred_email_field = frappe.scrub(self.prefered_contact_email)
|
||||
if preferred_email_field:
|
||||
preferred_email = self.get(preferred_email_field)
|
||||
self.prefered_email = preferred_email
|
||||
|
||||
def validate_status(self):
|
||||
if self.status == 'Left':
|
||||
reports_to = frappe.db.get_all('Employee',
|
||||
|
@ -649,6 +649,7 @@ erpnext.patches.v12_0.add_export_type_field_in_party_master
|
||||
erpnext.patches.v12_0.remove_denied_leaves_from_leave_ledger
|
||||
erpnext.patches.v12_0.update_price_or_product_discount
|
||||
erpnext.patches.v12_0.set_production_capacity_in_workstation
|
||||
erpnext.patches.v12_0.set_employee_preferred_emails
|
||||
erpnext.patches.v12_0.set_against_blanket_order_in_sales_and_purchase_order
|
||||
erpnext.patches.v12_0.set_cost_center_in_child_table_of_expense_claim
|
||||
erpnext.patches.v12_0.set_lead_title_field
|
||||
|
16
erpnext/patches/v12_0/set_employee_preferred_emails.py
Normal file
16
erpnext/patches/v12_0/set_employee_preferred_emails.py
Normal file
@ -0,0 +1,16 @@
|
||||
import frappe
|
||||
|
||||
|
||||
def execute():
|
||||
employees = frappe.get_all("Employee",
|
||||
filters={"prefered_email": ""},
|
||||
fields=["name", "prefered_contact_email", "company_email", "personal_email", "user_id"])
|
||||
|
||||
for employee in employees:
|
||||
preferred_email_field = frappe.scrub(employee.prefered_contact_email)
|
||||
|
||||
if not preferred_email_field:
|
||||
continue
|
||||
|
||||
preferred_email = employee.get(preferred_email_field)
|
||||
frappe.db.set_value("Employee", employee.name, "prefered_email", preferred_email, update_modified=False)
|
@ -79,6 +79,21 @@ frappe.ui.form.on('Delivery Trip', {
|
||||
}, () => {
|
||||
frm.reload_doc();
|
||||
});
|
||||
},
|
||||
|
||||
driver: function (frm) {
|
||||
if (frm.doc.driver) {
|
||||
frappe.call({
|
||||
method: "erpnext.stock.doctype.delivery_trip.delivery_trip.get_driver_email",
|
||||
args: {
|
||||
driver: frm.doc.driver
|
||||
},
|
||||
callback: (data) => {
|
||||
frm.set_value("driver_email", data.message.email);
|
||||
}
|
||||
});
|
||||
};
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
@ -196,4 +211,4 @@ frappe.ui.form.on('Delivery Stop', {
|
||||
frappe.model.set_value(cdt, cdn, "customer_contact", "");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -1,4 +1,5 @@
|
||||
{
|
||||
"actions": [],
|
||||
"autoname": "naming_series:",
|
||||
"creation": "2017-10-16 16:45:48.293335",
|
||||
"doctype": "DocType",
|
||||
@ -13,6 +14,7 @@
|
||||
"section_break_3",
|
||||
"driver",
|
||||
"driver_name",
|
||||
"driver_email",
|
||||
"driver_address",
|
||||
"total_distance",
|
||||
"uom",
|
||||
@ -167,10 +169,17 @@
|
||||
"fieldtype": "Link",
|
||||
"label": "Driver Address",
|
||||
"options": "Address"
|
||||
},
|
||||
{
|
||||
"fieldname": "driver_email",
|
||||
"fieldtype": "Data",
|
||||
"label": "Driver Email",
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"is_submittable": 1,
|
||||
"modified": "2019-09-27 15:43:01.975139",
|
||||
"links": [],
|
||||
"modified": "2019-12-06 17:06:59.681952",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Stock",
|
||||
"name": "Delivery Trip",
|
||||
|
@ -387,3 +387,9 @@ def get_attachments(delivery_stop):
|
||||
file_name="Delivery Note", print_format=dispatch_attachment)
|
||||
|
||||
return [attachments]
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_driver_email(driver):
|
||||
employee = frappe.db.get_value("Driver", driver, "employee")
|
||||
email = frappe.db.get_value("Employee", employee, "prefered_email")
|
||||
return {"email": email}
|
||||
|
Loading…
x
Reference in New Issue
Block a user