Skip to content

Commit

Permalink
fix: Maintain Same Rate Throughout Sales Cycle doesn't work
Browse files Browse the repository at this point in the history
Issue #29976 was partly fixed by #32923 but the problem still persists.
The reason is because an incorrect fieldname was passed to the
`validate_rate_with_reference_doc` method.
This commit fixes it

(cherry picked from commit 97ddfcf)
  • Loading branch information
tundebabzy authored and mergify[bot] committed Dec 12, 2022
1 parent ce63086 commit 5398cf8
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
13 changes: 13 additions & 0 deletions erpnext/selling/doctype/quotation/test_quotation.py
Expand Up @@ -30,6 +30,19 @@ def test_make_sales_order_terms_copied(self):

self.assertTrue(sales_order.get("payment_schedule"))

def test_maintain_rate_in_sales_cycle_is_enforced(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order

quotation = frappe.copy_doc(test_records[0])
quotation.transaction_date = nowdate()
quotation.valid_till = add_months(quotation.transaction_date, 1)
quotation.insert()
quotation.submit()

sales_order = make_sales_order(quotation.name)
sales_order.items[0].rate = 1
self.assertRaises(frappe.ValidationError, sales_order.save)

def test_make_sales_order_with_different_currency(self):
from erpnext.selling.doctype.quotation.quotation import make_sales_order

Expand Down
2 changes: 1 addition & 1 deletion erpnext/selling/doctype/sales_order/sales_order.py
Expand Up @@ -194,7 +194,7 @@ def validate_with_previous_doc(self):
)

if cint(frappe.db.get_single_value("Selling Settings", "maintain_same_sales_rate")):
self.validate_rate_with_reference_doc([["Quotation", "prev_docname", "quotation_item"]])
self.validate_rate_with_reference_doc([["Quotation", "prevdoc_docname", "quotation_item"]])

def update_enquiry_status(self, prevdoc, flag):
enq = frappe.db.sql(
Expand Down

0 comments on commit 5398cf8

Please sign in to comment.