fix: add default probabilities in deal status

This commit is contained in:
Shariq Ansari 2025-07-01 12:07:44 +05:30
parent bf0a1ecebd
commit 6d3268a61e
4 changed files with 35 additions and 2 deletions

View File

@ -37,13 +37,14 @@
{
"fieldname": "probability",
"fieldtype": "Percent",
"in_list_view": 1,
"label": "Probability"
}
],
"grid_page_length": 50,
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-06-11 13:00:34.518808",
"modified": "2025-07-01 12:06:42.937440",
"modified_by": "Administrator",
"module": "FCRM",
"name": "CRM Deal Status",

View File

@ -68,26 +68,32 @@ def add_default_deal_statuses():
statuses = {
"Qualification": {
"color": "gray",
"probability": 10,
"position": 1,
},
"Demo/Making": {
"color": "orange",
"probability": 25,
"position": 2,
},
"Proposal/Quotation": {
"color": "blue",
"probability": 50,
"position": 3,
},
"Negotiation": {
"color": "yellow",
"probability": 70,
"position": 4,
},
"Ready to Close": {
"color": "purple",
"probability": 90,
"position": 5,
},
"Won": {
"color": "green",
"probability": 100,
"position": 6,
},
"Lost": {
@ -103,6 +109,7 @@ def add_default_deal_statuses():
doc = frappe.new_doc("CRM Deal Status")
doc.deal_status = status
doc.color = statuses[status]["color"]
doc.probability = statuses[status]["probability"]
doc.position = statuses[status]["position"]
doc.insert()

View File

@ -12,4 +12,5 @@ crm.patches.v1_0.create_default_sidebar_fields_layout
crm.patches.v1_0.update_deal_quick_entry_layout
crm.patches.v1_0.update_layouts_to_new_format
crm.patches.v1_0.move_twilio_agent_to_telephony_agent
crm.patches.v1_0.create_default_scripts # 13-06-2025
crm.patches.v1_0.create_default_scripts # 13-06-2025
crm.patches.v1_0.update_deal_status_probabilities

View File

@ -0,0 +1,24 @@
import frappe
def execute():
deal_statuses = frappe.get_all("CRM Deal Status", fields=["name", "probability", "deal_status"])
for status in deal_statuses:
if status.probability is None or status.probability == 0:
if status.deal_status == "Qualification":
probability = 10
elif status.deal_status == "Demo/Making":
probability = 25
elif status.deal_status == "Proposal/Quotation":
probability = 50
elif status.deal_status == "Negotiation":
probability = 70
elif status.deal_status == "Ready to Close":
probability = 90
elif status.deal_status == "Won":
probability = 100
else:
probability = 0
frappe.db.set_value("CRM Deal Status", status.name, "probability", probability)