From b8dac84a9014a66a1acd662d8245c4c2e8bc1823 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Fri, 1 Mar 2024 12:12:07 +0100 Subject: [PATCH] feat: add selling setting for cutoff date --- .../doctype/sales_order/sales_order_list.js | 30 +++++++++++-------- .../selling_settings/selling_settings.json | 11 +++++-- .../selling_settings/selling_settings.py | 1 + 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order_list.js b/erpnext/selling/doctype/sales_order/sales_order_list.js index 822c6cb1d2..53de329b07 100644 --- a/erpnext/selling/doctype/sales_order/sales_order_list.js +++ b/erpnext/selling/doctype/sales_order/sales_order_list.js @@ -55,18 +55,24 @@ frappe.listview_settings['Sales Order'] = { }); listview.page.add_action_item(__("Delivery Note"), ()=>{ - var dialog = new frappe.ui.Dialog({ - title: __("Select Items up to Delivery Date"), - fields: [{fieldtype: "Date", fieldname: "delivery_date", default: frappe.datetime.add_days(frappe.datetime.nowdate(), 1)}] - }); - dialog.set_primary_action(__("Select"), function(values) { - var until_delivery_date = values.delivery_date; - erpnext.bulk_transaction_processing.create(listview, "Sales Order", "Delivery Note", { - until_delivery_date - }); - dialog.hide(); - }); - dialog.show(); + frappe.db.get_single_value("Selling Settings", "enable_cutoff_date_on_bulk_delivery_note_creation").then((value) => { + if (value) { + var dialog = new frappe.ui.Dialog({ + title: __("Select Items up to Delivery Date"), + fields: [{fieldtype: "Date", fieldname: "delivery_date", default: frappe.datetime.add_days(frappe.datetime.nowdate(), 1)}] + }); + dialog.set_primary_action(__("Select"), function(values) { + var until_delivery_date = values.delivery_date; + erpnext.bulk_transaction_processing.create(listview, "Sales Order", "Delivery Note", { + until_delivery_date + }); + dialog.hide(); + }); + dialog.show(); + } else { + erpnext.bulk_transaction_processing.create(listview, "Sales Order", "Delivery Note"); + } + }) }); listview.page.add_action_item(__("Advance Payment"), ()=>{ diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.json b/erpnext/selling/doctype/selling_settings/selling_settings.json index d6829ce24b..ee3d2bf31f 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.json +++ b/erpnext/selling/doctype/selling_settings/selling_settings.json @@ -32,7 +32,8 @@ "allow_sales_order_creation_for_expired_quotation", "dont_reserve_sales_order_qty_on_sales_return", "hide_tax_id", - "enable_discount_accounting" + "enable_discount_accounting", + "enable_cutoff_date_on_bulk_delivery_note_creation" ], "fields": [ { @@ -200,6 +201,12 @@ "fieldname": "blanket_order_allowance", "fieldtype": "Float", "label": "Blanket Order Allowance (%)" + }, + { + "default": "0", + "fieldname": "enable_cutoff_date_on_bulk_delivery_note_creation", + "fieldtype": "Check", + "label": "Enable Cut-Off Date on Bulk Delivery Note Creation" } ], "icon": "fa fa-cog", @@ -207,7 +214,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2023-10-25 14:03:03.966701", + "modified": "2024-03-01 12:07:39.994520", "modified_by": "Administrator", "module": "Selling", "name": "Selling Settings", diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.py b/erpnext/selling/doctype/selling_settings/selling_settings.py index 24fe909a7a..a488177157 100644 --- a/erpnext/selling/doctype/selling_settings/selling_settings.py +++ b/erpnext/selling/doctype/selling_settings/selling_settings.py @@ -30,6 +30,7 @@ class SellingSettings(Document): dont_reserve_sales_order_qty_on_sales_return: DF.Check editable_bundle_item_rates: DF.Check editable_price_list_rate: DF.Check + enable_cutoff_date_on_bulk_delivery_note_creation: DF.Check enable_discount_accounting: DF.Check hide_tax_id: DF.Check maintain_same_rate_action: DF.Literal["Stop", "Warn"]