From 9a538c6843e44b1031a4739e1a5b8d5bfe712d32 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Fri, 4 Jul 2025 21:39:34 +0530 Subject: [PATCH] feat: add subject field to project (#48368) * feat: add subject field to project (cherry picked from commit 407fdab487f58b17c3f05f2f128957c87961b532) --- erpnext/projects/doctype/project/project.js | 6 ++++++ erpnext/projects/doctype/project/project.json | 13 +++++++++++-- erpnext/projects/doctype/project/project.py | 5 ++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/erpnext/projects/doctype/project/project.js b/erpnext/projects/doctype/project/project.js index 45baff562ce..449a9d87ff2 100644 --- a/erpnext/projects/doctype/project/project.js +++ b/erpnext/projects/doctype/project/project.js @@ -202,6 +202,12 @@ frappe.ui.form.on("Project", { }); }); }, + + collect_progress: function (frm) { + if (frm.doc.collect_progress && !frm.doc.subject) { + frm.set_value("subject", __("For project {0}, update your status", [frm.doc.name])); + } + }, }); function open_form(frm, doctype, child_doctype, parentfield) { diff --git a/erpnext/projects/doctype/project/project.json b/erpnext/projects/doctype/project/project.json index 464b1c9d7a8..e2613465dd3 100644 --- a/erpnext/projects/doctype/project/project.json +++ b/erpnext/projects/doctype/project/project.json @@ -62,6 +62,7 @@ "day_to_send", "weekly_time_to_send", "column_break_45", + "subject", "message" ], "fields": [ @@ -447,6 +448,13 @@ "print_hide": 1, "reqd": 1, "set_only_once": 1 + }, + { + "depends_on": "collect_progress", + "fieldname": "subject", + "fieldtype": "Data", + "label": "Subject", + "mandatory_depends_on": "collect_progress" } ], "icon": "fa fa-puzzle-piece", @@ -454,7 +462,7 @@ "index_web_pages_for_search": 1, "links": [], "max_attachments": 4, - "modified": "2024-04-24 10:56:16.001032", + "modified": "2025-07-03 10:54:30.444139", "modified_by": "Administrator", "module": "Projects", "name": "Project", @@ -501,6 +509,7 @@ } ], "quick_entry": 1, + "row_format": "Dynamic", "search_fields": "project_name,customer, status, priority, is_active", "show_name_in_global_search": 1, "sort_field": "modified", @@ -509,4 +518,4 @@ "timeline_field": "customer", "title_field": "project_name", "track_seen": 1 -} \ No newline at end of file +} diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py index f7653d92d63..ebfff79531f 100644 --- a/erpnext/projects/doctype/project/project.py +++ b/erpnext/projects/doctype/project/project.py @@ -62,6 +62,7 @@ class Project(Document): sales_order: DF.Link | None second_email: DF.Time | None status: DF.Literal["Open", "Completed", "Cancelled"] + subject: DF.Data | None to_time: DF.Time | None total_billable_amount: DF.Currency total_billed_amount: DF.Currency @@ -606,8 +607,6 @@ def send_project_update_email_to_users(project): } ).insert() - subject = "For project %s, update your status" % (project) - incoming_email_account = frappe.db.get_value( "Email Account", dict(enable_incoming=1, default_incoming=1), "email_id" ) @@ -615,7 +614,7 @@ def send_project_update_email_to_users(project): frappe.sendmail( recipients=get_users_email(doc), message=doc.message, - subject=_(subject), + subject=doc.subject, reference_doctype=project_update.doctype, reference_name=project_update.name, reply_to=incoming_email_account,