fix: load default kanban settings if does not exist

This commit is contained in:
Shariq Ansari 2024-07-01 12:42:21 +05:30
parent 49e57f749c
commit 6617cd1fd4
4 changed files with 32 additions and 0 deletions

View File

@ -315,12 +315,16 @@ def get_data(
if not title_field:
title_field = "name"
if hasattr(_list, "default_kanban_settings"):
title_field = _list.default_kanban_settings().get("title_field")
if title_field not in rows:
rows.append(title_field)
if not kanban_fields:
kanban_fields = ["name"]
if hasattr(_list, "default_kanban_settings"):
kanban_fields = json.loads(_list.default_kanban_settings().get("kanban_fields"))
for field in kanban_fields:
if field not in rows:
@ -442,6 +446,10 @@ def get_data(
"columns": columns,
"rows": rows,
"fields": fields,
"column_field": column_field,
"title_field": title_field,
"kanban_columns": kanban_columns,
"kanban_fields": kanban_fields,
"group_by_field": group_by_field,
"page_length": page_length,
"page_length_count": page_length_count,

View File

@ -190,6 +190,13 @@ class CRMDeal(Document):
]
return {'columns': columns, 'rows': rows}
@staticmethod
def default_kanban_settings():
return {
"column_field": "status",
"title_field": "organization",
"kanban_fields": '["annual_revenue", "email", "mobile_no", "_assign", "modified"]'
}
@frappe.whitelist()
def add_contact(deal, contact):

View File

@ -324,6 +324,15 @@ class CRMLead(Document):
]
return {'columns': columns, 'rows': rows}
@staticmethod
def default_kanban_settings():
return {
"column_field": "status",
"title_field": "lead_name",
"kanban_fields": '["organization", "email", "mobile_no", "_assign", "modified"]'
}
@frappe.whitelist()
def convert_to_deal(lead, doc=None):
if not (doc and doc.flags.get("ignore_permissions")) and not frappe.has_permission("CRM Lead", "write", lead):

View File

@ -60,3 +60,11 @@ class CRMTask(Document):
"modified",
]
return {'columns': columns, 'rows': rows}
@staticmethod
def default_kanban_settings():
return {
"column_field": "status",
"title_field": "title",
"kanban_fields": '["description", "priority", "creation"]'
}