瀏覽代碼

[fix] set report-type for custom role reports

version-14
pratu16x7 8 年之前
committed by Nabin Hait
父節點
當前提交
f1595c06b4
共有 1 個文件被更改,包括 9 次插入4 次删除
  1. +9
    -4
      frappe/boot.py

+ 9
- 4
frappe/boot.py 查看文件

@@ -95,20 +95,25 @@ def get_allowed_pages():

def get_allowed_reports():
return get_user_page_or_report('Report')
def get_user_page_or_report(parent):
roles = frappe.get_roles()
has_role = {}
column = get_column(parent)
report_type_col = ""
if parent == "Report":
report_type_col = ", `tabCustom Role`.report_type"

# get pages or reports set on custom role
for p in frappe.db.sql("""select `tabCustom Role`.{field} as name, `tabCustom Role`.modified, `tabCustom Role`.ref_doctype
for p in frappe.db.sql("""select `tabCustom Role`.{field} as name, `tabCustom Role`.modified, `tabCustom Role`.ref_doctype {report_type_col}
from `tabCustom Role`, `tabHas Role` where
`tabHas Role`.parent = `tabCustom Role`.name and
`tabCustom Role`.{field} is not null and `tabHas Role`.role in ({roles})
""".format(field=parent.lower(), roles = ', '.join(['%s']*len(roles))), roles, as_dict=1):

has_role[p.name] = {"modified":p.modified, "title": p.name, "ref_doctype": p.ref_doctype}
if parent == "Report":
has_role[p.name].update({'report_type': p.report_type})

for p in frappe.db.sql("""select distinct
tab{parent}.name, tab{parent}.modified, {column}
@@ -128,7 +133,7 @@ def get_user_page_or_report(parent):
from `tab{parent}` where
(select count(*) from `tabHas Role`
where `tabHas Role`.parent=tab{parent}.name) = 0""".format(parent=parent, column=column), as_dict=1):
if p.name not in has_role:
if p.name not in has_role:
has_role[p.name] = {"modified":p.modified, "title": p.title}
if parent == "Report":
has_role[p.name].update({'ref_doctype': p.ref_doctype})


Loading…
取消
儲存