[accounts] [feature] optional checkbox for same rate validation in sales cycle
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 956867d..23114f0 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -558,13 +558,14 @@
def validate_rate_with_refdoc(self):
"""Validate values with reference document with previous document"""
- for d in self.doclist.get({"parentfield": "entries"}):
- if d.so_detail:
- self.check_value("Sales Order", d.sales_order, d.so_detail,
- d.export_rate, d.item_code)
- if d.dn_detail:
- self.check_value("Delivery Note", d.delivery_note, d.dn_detail,
- d.export_rate, d.item_code)
+ if cint(webnotes.defaults.get_global_default('maintain_same_sales_rate')):
+ for d in self.doclist.get({"parentfield": "entries"}):
+ if d.so_detail:
+ self.check_value("Sales Order", d.sales_order, d.so_detail,
+ d.export_rate, d.item_code)
+ if d.dn_detail:
+ self.check_value("Delivery Note", d.delivery_note, d.dn_detail,
+ d.export_rate, d.item_code)
def check_value(self, ref_dt, ref_dn, ref_item_dn, val, item_code):
ref_val = webnotes.conn.get_value(ref_dt + " Item", ref_item_dn, "export_rate")
diff --git a/patches/july_2013/p01_same_sales_rate_patch.py b/patches/july_2013/p01_same_sales_rate_patch.py
new file mode 100644
index 0000000..cc1f6da
--- /dev/null
+++ b/patches/july_2013/p01_same_sales_rate_patch.py
@@ -0,0 +1,9 @@
+def execute():
+ import webnotes
+ webnotes.reload_doc("setup", "doctype", "global_defaults")
+
+ from webnotes.model.code import get_obj
+ gd = get_obj('Global Defaults')
+ gd.doc.maintain_same_sales_rate = 1
+ gd.doc.save()
+ gd.on_update()
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 812f641..d15602d 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -246,4 +246,5 @@
"execute:webnotes.reload_doc('accounts', 'DocType Mapper', 'Purchase Order-Purchase Invoice') # 2013-07-04 3:00",
"execute:webnotes.reload_doc('accounts', 'DocType Mapper', 'Purchase Receipt-Purchase Invoice') # 2013-07-04 3:00",
"execute:webnotes.delete_doc('Report', 'Sales Orders Pending To Be Delivered')",
+ "patches.july_2013.p01_same_sales_rate_patch",
]
diff --git a/setup/doctype/global_defaults/global_defaults.py b/setup/doctype/global_defaults/global_defaults.py
index dc7f6b4..a921229 100644
--- a/setup/doctype/global_defaults/global_defaults.py
+++ b/setup/doctype/global_defaults/global_defaults.py
@@ -48,6 +48,7 @@
'disable_rounded_total': 'disable_rounded_total',
"update_stock": "update_stock",
"auto_inventory_accounting": "auto_inventory_accounting",
+ 'maintain_same_sales_rate' : 'maintain_same_sales_rate',
}
class DocType:
diff --git a/setup/doctype/global_defaults/global_defaults.txt b/setup/doctype/global_defaults/global_defaults.txt
index 175ca94..1e1505a 100644
--- a/setup/doctype/global_defaults/global_defaults.txt
+++ b/setup/doctype/global_defaults/global_defaults.txt
@@ -1,8 +1,8 @@
[
{
- "creation": "2013-05-02 17:53:24",
+ "creation": "2013-07-16 18:18:01",
"docstatus": 0,
- "modified": "2013-05-22 15:57:26",
+ "modified": "2013-07-16 18:23:52",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -27,8 +27,6 @@
"permlevel": 0
},
{
- "amend": 0,
- "cancel": 0,
"create": 1,
"doctype": "DocPerm",
"name": "__common__",
@@ -441,6 +439,12 @@
},
{
"doctype": "DocField",
+ "fieldname": "maintain_same_sales_rate",
+ "fieldtype": "Check",
+ "label": "Maintain same rate throughout sales cycle"
+ },
+ {
+ "doctype": "DocField",
"fieldname": "buying",
"fieldtype": "Section Break",
"label": "Buying",
@@ -527,6 +531,11 @@
"read_only": 0
},
{
+ "amend": 0,
+ "cancel": 0,
+ "doctype": "DocPerm"
+ },
+ {
"doctype": "DocPerm"
}
]
\ No newline at end of file