diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json index a673f6226c..700abb7ba3 100644 --- a/frappe/core/doctype/user/user.json +++ b/frappe/core/doctype/user/user.json @@ -61,6 +61,7 @@ "form_sidebar", "timeline", "dashboard", + "show_absolute_datetime_foramt", "change_password", "new_password", "logout_all_sessions", @@ -827,6 +828,12 @@ "fieldname": "dashboard", "fieldtype": "Check", "label": "Dashboard" + }, + { + "default": "0", + "fieldname": "show_absolute_datetime_foramt", + "fieldtype": "Check", + "label": "Show absolute datetime values" } ], "icon": "fa fa-user", @@ -885,7 +892,7 @@ } ], "make_attachments_public": 1, - "modified": "2025-03-17 11:29:39.254304", + "modified": "2025-05-20 20:20:56.377578", "modified_by": "Administrator", "module": "Core", "name": "User", diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 04d7daf970..e6d955b935 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -126,6 +126,7 @@ class User(Document): search_bar: DF.Check send_me_a_copy: DF.Check send_welcome_email: DF.Check + show_absolute_datetime_foramt: DF.Check simultaneous_sessions: DF.Int social_logins: DF.Table[UserSocialLogin] thread_notify: DF.Check diff --git a/frappe/public/js/frappe/form/footer/base_timeline.js b/frappe/public/js/frappe/form/footer/base_timeline.js index b28c2c7706..5f8ca3e803 100644 --- a/frappe/public/js/frappe/form/footer/base_timeline.js +++ b/frappe/public/js/frappe/form/footer/base_timeline.js @@ -138,7 +138,13 @@ class BaseTimeline { let timeline_content = timeline_item.find(".timeline-content"); timeline_content.append(item.content); if (!item.hide_timestamp && !item.is_card) { - timeline_content.append(` · ${comment_when(item.creation)}`); + timeline_content.append( + ` · ${ + frappe.boot.user.show_absolute_datetime_foramt === 1 + ? frappe.datetime.str_to_user(item.creation) + : comment_when(item.creation) + }` + ); } if (item.id) { timeline_content.attr("id", item.id); diff --git a/frappe/public/js/frappe/form/sidebar/form_sidebar.js b/frappe/public/js/frappe/form/sidebar/form_sidebar.js index 7902917026..a4c3040ce9 100644 --- a/frappe/public/js/frappe/form/sidebar/form_sidebar.js +++ b/frappe/public/js/frappe/form/sidebar/form_sidebar.js @@ -95,8 +95,9 @@ frappe.ui.form.Sidebar = class { __("{0} created this", [get_user_link(this.frm.doc.owner)]) ) + " · " + - comment_when(this.frm.doc.creation); - + (frappe.boot.user.show_absolute_datetime_foramt === 1 + ? frappe.datetime.str_to_user(this.frm.doc.creation) + : comment_when(this.frm.doc.creation)); let modified_message = get_user_message( this.frm.doc.modified_by, @@ -104,7 +105,9 @@ frappe.ui.form.Sidebar = class { __("{0} last edited this", [get_user_link(this.frm.doc.modified_by)]) ) + " · " + - comment_when(this.frm.doc.modified); + (frappe.boot.user.show_absolute_datetime_foramt === 1 + ? frappe.datetime.str_to_user(this.frm.doc.modified) + : comment_when(this.frm.doc.modified)); if (user_list.length === 1) { // same user created and edited diff --git a/frappe/utils/user.py b/frappe/utils/user.py index db7de785c9..18ecd4d821 100644 --- a/frappe/utils/user.py +++ b/frappe/utils/user.py @@ -224,6 +224,7 @@ class UserPermissions: "language", "last_name", "mute_sounds", + "show_absolute_datetime_foramt", "send_me_a_copy", "user_type", "onboarding_status",