@@ -37,6 +37,25 @@ def get_form_params(): | |||||
else: | else: | ||||
data["save_user_settings"] = True | data["save_user_settings"] = True | ||||
fields = data["fields"] | |||||
for field in fields: | |||||
key = field.split(" as ")[0] | |||||
if "." in key: | |||||
parenttype, fieldname = key.split(".")[0][4:-1], key.split(".")[1].strip("`") | |||||
else: | |||||
parenttype = doctype | |||||
fieldname = fieldname.strip("`") | |||||
df = frappe.get_meta(parenttype).get_field(fieldname) | |||||
report_hide = df.report_hide if df else None | |||||
# remove the field from the query if the report hide flag is set | |||||
if report_hide: | |||||
fields.remove(field) | |||||
# queries must always be server side | # queries must always be server side | ||||
data.query = None | data.query = None | ||||
@@ -843,7 +843,8 @@ frappe.ui.FieldSelect = Class.extend({ | |||||
// main table | // main table | ||||
var main_table_fields = std_filters.concat(frappe.meta.docfield_list[me.doctype]); | var main_table_fields = std_filters.concat(frappe.meta.docfield_list[me.doctype]); | ||||
$.each(frappe.utils.sort(main_table_fields, "label", "string"), function(i, df) { | $.each(frappe.utils.sort(main_table_fields, "label", "string"), function(i, df) { | ||||
if(frappe.perm.has_perm(me.doctype, df.permlevel, "read")) | |||||
// show fields where user has read access and if report hide flag is not set | |||||
if(frappe.perm.has_perm(me.doctype, df.permlevel, "read") && !df.report_hide) | |||||
me.add_field_option(df); | me.add_field_option(df); | ||||
}); | }); | ||||
@@ -852,7 +853,8 @@ frappe.ui.FieldSelect = Class.extend({ | |||||
if(table_df.options) { | if(table_df.options) { | ||||
var child_table_fields = [].concat(frappe.meta.docfield_list[table_df.options]); | var child_table_fields = [].concat(frappe.meta.docfield_list[table_df.options]); | ||||
$.each(frappe.utils.sort(child_table_fields, "label", "string"), function(i, df) { | $.each(frappe.utils.sort(child_table_fields, "label", "string"), function(i, df) { | ||||
if(frappe.perm.has_perm(me.doctype, df.permlevel, "read")) | |||||
// show fields where user has read access and if report hide flag is not set | |||||
if(frappe.perm.has_perm(me.doctype, df.permlevel, "read") && !df.report_hide) | |||||
me.add_field_option(df); | me.add_field_option(df); | ||||
}); | }); | ||||
} | } | ||||
@@ -151,7 +151,8 @@ frappe.views.ReportView = frappe.ui.BaseList.extend({ | |||||
var columns = [['name', this.doctype],]; | var columns = [['name', this.doctype],]; | ||||
$.each(frappe.meta.docfield_list[this.doctype], function(i, df) { | $.each(frappe.meta.docfield_list[this.doctype], function(i, df) { | ||||
if((df.in_standard_filter || df.in_list_view) && df.fieldname!='naming_series' | if((df.in_standard_filter || df.in_list_view) && df.fieldname!='naming_series' | ||||
&& !in_list(frappe.model.no_value_type, df.fieldtype)) { | |||||
&& !in_list(frappe.model.no_value_type, df.fieldtype) | |||||
&& !df.report_hide) { | |||||
columns.push([df.fieldname, df.parent]); | columns.push([df.fieldname, df.parent]); | ||||
} | } | ||||
}); | }); | ||||