fix: user is not able to do 'Set as Lost' for Quotation (#20689)

This commit is contained in:
Lokesh Waingankar 2020-02-27 19:08:58 +05:30
parent d8d453d7d4
commit efb6482ef6

View File

@ -68,13 +68,19 @@ class Quotation(SellingController):
def declare_enquiry_lost(self, lost_reasons_list, detailed_reason=None): def declare_enquiry_lost(self, lost_reasons_list, detailed_reason=None):
if not self.has_sales_order(): if not self.has_sales_order():
get_lost_reasons = frappe.get_list('Opportunity Lost Reason',
fields = ["name"])
lost_reasons_lst = [reason.get('name') for reason in get_lost_reasons]
frappe.db.set(self, 'status', 'Lost') frappe.db.set(self, 'status', 'Lost')
if detailed_reason: if detailed_reason:
frappe.db.set(self, 'order_lost_reason', detailed_reason) frappe.db.set(self, 'order_lost_reason', detailed_reason)
for reason in lost_reasons_list: for reason in lost_reasons_list:
self.append('lost_reasons', reason) if reason.get('lost_reason') in lost_reasons_lst:
self.append('lost_reasons', reason)
else:
frappe.throw(_("Invalid lost reason <b>{0}</b>, please create a new lost reason".format(reason.get('lost_reason'))))
self.update_opportunity() self.update_opportunity()
self.update_lead() self.update_lead()