Merge pull request #20755 from lokesh-indictrans/develop

fix: user is not able to do 'Set as Lost' for Quotation (#20603)
This commit is contained in:
Deepesh Garg 2020-03-04 11:56:52 +05:30 committed by GitHub
commit a75cf35bb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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:
if reason.get('lost_reason') in lost_reasons_lst:
self.append('lost_reasons', reason) self.append('lost_reasons', reason)
else:
frappe.throw(_("Invalid lost reason {0}, please create a new lost reason").format(frappe.bold(reason.get('lost_reason'))))
self.update_opportunity() self.update_opportunity()
self.update_lead() self.update_lead()