diff --git a/crm/api/doc.py b/crm/api/doc.py index 2792feda..f30aeaa9 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -207,6 +207,7 @@ def get_data( page_length=20, page_length_count=20, column_field=None, + title_field=None, columns=[], rows=[], kanban_columns=[], @@ -311,6 +312,12 @@ def get_data( elif field_meta.fieldtype == "Select": kanban_columns = [{"name": option} for option in field_meta.options.split("\n")] + if not title_field: + title_field = "name" + + if title_field not in rows: + rows.append(title_field) + if not kanban_fields: kanban_fields = ["name"] @@ -472,7 +479,7 @@ def get_fields_meta(doctype, restricted_fieldtypes=None, as_array=False): fields_meta = {} for field in fields: - fields_meta[field.fieldname] = field + fields_meta[field.get('fieldname')] = field return fields_meta diff --git a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json index a88d5d3d..dde0b128 100644 --- a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json +++ b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.json @@ -29,6 +29,7 @@ "kanban_tab", "kanban_section", "column_field", + "title_field", "kanban_columns", "kanban_fields" ], @@ -171,11 +172,17 @@ "fieldname": "kanban_fields", "fieldtype": "Code", "label": "Kanban Fields" + }, + { + "default": "name", + "fieldname": "title_field", + "fieldtype": "Data", + "label": "Title Field" } ], "index_web_pages_for_search": 1, "links": [], - "modified": "2024-06-25 17:16:02.876349", + "modified": "2024-06-25 19:40:12.067788", "modified_by": "Administrator", "module": "FCRM", "name": "CRM View Settings", diff --git a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py index 72c8a7c0..86f1bff5 100644 --- a/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py +++ b/crm/fcrm/doctype/crm_view_settings/crm_view_settings.py @@ -41,6 +41,7 @@ def create(view): doc.order_by = view.order_by doc.group_by_field = view.group_by_field doc.column_field = view.column_field + doc.title_field = view.title_field doc.kanban_columns = json.dumps(view.kanban_columns) doc.kanban_fields = json.dumps(view.kanban_fields) doc.columns = json.dumps(view.columns) @@ -72,6 +73,7 @@ def update(view): doc.order_by = view.order_by doc.group_by_field = view.group_by_field doc.column_field = view.column_field + doc.title_field = view.title_field doc.kanban_columns = json.dumps(kanban_columns) doc.kanban_fields = json.dumps(kanban_fields) doc.columns = json.dumps(columns) @@ -170,6 +172,7 @@ def create_or_update_default_view(view): doc.order_by = view.order_by doc.group_by_field = view.group_by_field doc.column_field = view.column_field + doc.title_field = view.title_field doc.kanban_columns = json.dumps(kanban_columns) doc.kanban_fields = json.dumps(kanban_fields) doc.columns = json.dumps(columns) @@ -189,6 +192,7 @@ def create_or_update_default_view(view): doc.order_by = view.order_by doc.group_by_field = view.group_by_field doc.column_field = view.column_field + doc.title_field = view.title_field doc.kanban_columns = json.dumps(kanban_columns) doc.kanban_fields = json.dumps(kanban_fields) doc.columns = json.dumps(columns) diff --git a/frontend/src/components/Kanban/KanbanSettings.vue b/frontend/src/components/Kanban/KanbanSettings.vue index 2593d8b9..95f377b9 100644 --- a/frontend/src/components/Kanban/KanbanSettings.vue +++ b/frontend/src/components/Kanban/KanbanSettings.vue @@ -16,14 +16,32 @@ v-if="columnFields" value="" :options="columnFields" - @change="(f) => (column_field = f)" + @change="(f) => (columnField = f)" > + + +