diff --git a/frappe/public/js/frappe/list/base_list.js b/frappe/public/js/frappe/list/base_list.js index e5272ccd91..912016d330 100644 --- a/frappe/public/js/frappe/list/base_list.js +++ b/frappe/public/js/frappe/list/base_list.js @@ -69,6 +69,14 @@ frappe.views.BaseList = class BaseList { ]; } + get_list_view_settings() { + return frappe + .call("frappe.desk.listview.get_list_settings", { + doctype: this.doctype, + }) + .then((doc) => (this.list_view_settings = doc.message || {})); + } + setup_fields() { this.set_fields(); this.build_fields(); diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index cbeda50e53..9c5dba3370 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -107,14 +107,6 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { return this.get_list_view_settings(); } - get_list_view_settings() { - return frappe - .call("frappe.desk.listview.get_list_settings", { - doctype: this.doctype, - }) - .then((doc) => (this.list_view_settings = doc.message || {})); - } - on_sort_change(sort_by, sort_order) { this.sort_by = sort_by; this.sort_order = sort_order; diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 2ea780c13d..945ec83439 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -43,6 +43,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { this.add_totals_row = this.view_user_settings.add_totals_row || 0; this.chart_args = this.view_user_settings.chart_args; } + return this.get_list_view_settings(); } setup_view() { @@ -53,6 +54,9 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { } setup_events() { + if (this.list_view_settings?.disable_auto_refresh) { + return; + } frappe.realtime.on("list_update", (data) => this.on_update(data)); } @@ -216,6 +220,9 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { } render_count() { + if (this.list_view_settings?.disable_count) { + return; + } let $list_count = this.$paging_area.find('.list-count'); if (!$list_count.length) { $list_count = $('') @@ -1540,6 +1547,12 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { }); } + if (frappe.user.has_role("System Manager")) { + if (this.get_view_settings) { + items.push(this.get_view_settings()); + } + } + return items.map(i => Object.assign(i, { standard: true })); }