fix: Skip Update Password in Preview
- dont show update password button in preview, its for the suppliers mail only
- modified docstrings
- update supplier row contact only if None
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
index 9b9104d..14747b0 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
@@ -247,8 +247,8 @@
}
- dialog.fields_dict.note.$wrapper.append(`<p class="small text-muted">This is a preview of the email to be sent. A PDF of this document will
- automatically be attached with the mail.</p>`);
+ dialog.fields_dict.note.$wrapper.append(`<p class="small text-muted">This is a preview of the email to be sent. A PDF of the document will
+ automatically be attached with the email.</p>`);
dialog.set_value("subject", frm.doc.subject);
dialog.show();
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
index 84ddac4..bef64b0 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
@@ -63,25 +63,18 @@
frappe.db.set(self, 'status', 'Cancelled')
def get_supplier_email_preview(self, supplier):
- '''Returns formatted email preview as string'''
+ """Returns formatted email preview as string"""
rfq_suppliers = list(filter(lambda row: row.supplier == supplier, self.suppliers))
rfq_supplier = rfq_suppliers[0]
self.validate_email_id(rfq_supplier)
- update_password_link = ""
- if not frappe.db.exists("User", rfq_supplier.email_id):
- # user doesnt exist
- # so (dummy) update password button, should be included for preview
- # as it will be included in actual mail, on user creation
- update_password_link = "#"
-
- message = self.supplier_rfq_mail(rfq_supplier, update_password_link, self.get_link(), True)
+ message = self.supplier_rfq_mail(rfq_supplier, '', self.get_link(), True)
return message
def send_to_supplier(self):
- '''Sends RFQ mail to involved suppliers'''
+ """Sends RFQ mail to involved suppliers"""
for rfq_supplier in self.suppliers:
if rfq_supplier.send_email:
self.validate_email_id(rfq_supplier)
@@ -92,7 +85,8 @@
self.update_supplier_part_no(rfq_supplier)
self.supplier_rfq_mail(rfq_supplier, update_password_link, self.get_link())
rfq_supplier.email_sent = 1
- rfq_supplier.contact = contact
+ if not rfq_supplier.contact:
+ rfq_supplier.contact = contact
rfq_supplier.save()
def get_link(self):
@@ -119,10 +113,7 @@
return update_password_link, contact
def link_supplier_contact(self, rfq_supplier, user):
- '''
- Create a new contact if no contact against Supplier.
- If Contact exists, check if email and user id set
- '''
+ """If no Contact, create a new contact against Supplier. If Contact exists, check if email and user id set"""
if rfq_supplier.contact:
contact = frappe.get_doc("Contact", rfq_supplier.contact)
else: