diff --git a/erpnext/projects/doctype/project_user/project_user.json b/erpnext/projects/doctype/project_user/project_user.json
index 1ae9606cbf595d0cf2d4f26a7b09aa0c1cc01236..35217c3f5a45a6afa67593a12e928e15cdc9d328 100644
--- a/erpnext/projects/doctype/project_user/project_user.json
+++ b/erpnext/projects/doctype/project_user/project_user.json
@@ -12,6 +12,7 @@
"full_name",
"welcome_email_sent",
"view_attachments",
+ "hide_timesheets",
"section_break_5",
"project_status"
],
@@ -64,6 +65,13 @@
"in_list_view": 1,
"label": "View attachments"
},
+ {
+ "columns": 2,
+ "default": "0",
+ "fieldname": "hide_timesheets",
+ "fieldtype": "Check",
+ "label": "Hide timesheets"
+ },
{
"fieldname": "section_break_5",
"fieldtype": "Section Break"
diff --git a/erpnext/templates/pages/projects.html b/erpnext/templates/pages/projects.html
index 67854f484b66be1bd509dfe7138fd96e9e7c7264..0bccb27e622d158e0c053360f86b9e230983a535 100644
--- a/erpnext/templates/pages/projects.html
+++ b/erpnext/templates/pages/projects.html
@@ -57,8 +57,8 @@
{{ empty_state(_("Task")) }}
{% endif %}
-
{% if doc.timesheets %}
+
@@ -74,8 +74,6 @@
{% include "erpnext/templates/includes/projects/project_timesheets.html" %}
- {% else %}
- {{ empty_state(_("Timesheet")) }}
{% endif %}
{% if doc.attachments %}
@@ -136,4 +134,4 @@
-{% endmacro %}
\ No newline at end of file
+{% endmacro %}
diff --git a/erpnext/templates/pages/projects.py b/erpnext/templates/pages/projects.py
index e9296e7cb87b0cd25b1d246f208eecf4d709ec25..9af273face447a7fe780245241b3f003adcaff85 100644
--- a/erpnext/templates/pages/projects.py
+++ b/erpnext/templates/pages/projects.py
@@ -12,7 +12,7 @@ def get_context(context):
project_user = frappe.db.get_value(
"Project User",
{"parent": frappe.form_dict.project, "user": frappe.session.user},
- ["user", "view_attachments"],
+ ["user", "view_attachments", "hide_timesheets"],
as_dict=True,
)
@@ -29,7 +29,8 @@ def get_context(context):
project.name, start=0, item_status="open", search=frappe.form_dict.get("search")
)
- project.timesheets = get_timesheets(project.name, start=0, search=frappe.form_dict.get("search"))
+ if project_user and not project_user.hide_timesheets:
+ project.timesheets = get_timesheets(project.name, start=0, search=frappe.form_dict.get("search"))
if project_user and project_user.view_attachments:
project.attachments = get_attachments(project.name)