Sfoglia il codice sorgente

Merge branch 'bohlian-develop_customize_form_report_hide_fixes' into develop

version-14
Nabin Hait 8 anni fa
parent
commit
ec5717e451
3 ha cambiato i file con 25 aggiunte e 3 eliminazioni
  1. +19
    -0
      frappe/desk/reportview.py
  2. +4
    -2
      frappe/public/js/frappe/ui/filters/filters.js
  3. +2
    -1
      frappe/public/js/frappe/views/reports/reportview.js

+ 19
- 0
frappe/desk/reportview.py Vedi File

@@ -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


+ 4
- 2
frappe/public/js/frappe/ui/filters/filters.js Vedi File

@@ -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);
}); });
} }


+ 2
- 1
frappe/public/js/frappe/views/reports/reportview.js Vedi File

@@ -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]);
} }
}); });


Caricamento…
Annulla
Salva