fix: made deal value mandatory if forecasting is enabled

This commit is contained in:
Shariq Ansari 2025-07-01 15:05:37 +05:30
parent 4d3fe722e8
commit 4f58aa110a
3 changed files with 23 additions and 3 deletions

View File

@ -24,7 +24,7 @@ class CRMDeal(Document):
self.assign_agent(self.deal_owner)
if self.has_value_changed("status"):
add_status_change_log(self)
self.update_close_date()
self.validate_forcasting_fields()
def after_insert(self):
if self.deal_owner:
@ -141,6 +141,14 @@ class CRMDeal(Document):
if self.status == "Won" and not self.close_date:
self.close_date = frappe.utils.nowdate()
def validate_forcasting_fields(self):
self.update_close_date()
if frappe.db.get_single_value("FCRM Settings", "enable_forecasting"):
if not self.deal_value or self.deal_value == 0:
frappe.throw(_("Deal Value is required."), frappe.MandatoryError)
if not self.close_date:
frappe.throw(_("Close Date is required."), frappe.MandatoryError)
@staticmethod
def default_list_data():
columns = [

View File

@ -60,7 +60,7 @@
},
{
"default": "0",
"description": "It will make deal's \"Expected Closure Date\" mandatory to get accurate forecasting insights",
"description": "It will make deal's \"Close Date\" & \"Deal Value\" mandatory to get accurate forecasting insights",
"fieldname": "enable_forecasting",
"fieldtype": "Check",
"label": "Enable Forecasting"
@ -69,7 +69,7 @@
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2025-06-11 19:12:16.762499",
"modified": "2025-07-01 13:20:48.757603",
"modified_by": "Administrator",
"module": "FCRM",
"name": "FCRM Settings",

View File

@ -39,6 +39,11 @@ class FCRMSettings(Document):
"reqd",
"close_date",
)
delete_property_setter(
"CRM Deal",
"reqd",
"deal_value",
)
else:
make_property_setter(
"CRM Deal",
@ -47,6 +52,13 @@ class FCRMSettings(Document):
1 if self.enable_forecasting else 0,
"Check",
)
make_property_setter(
"CRM Deal",
"deal_value",
"reqd",
1 if self.enable_forecasting else 0,
"Check",
)
def get_standard_dropdown_items():