浏览代码

[report] Don't run disabled script/query report

version-14
Anand Doshi 11 年前
父节点
当前提交
c240eaaf84
共有 3 个文件被更改,包括 30 次插入7 次删除
  1. +16
    -1
      frappe/core/doctype/report/report.js
  2. +8
    -3
      frappe/core/doctype/report/report.py
  3. +6
    -3
      frappe/widgets/query_report.py

+ 16
- 1
frappe/core/doctype/report/report.js 查看文件

@@ -11,7 +11,22 @@ cur_frm.cscript.refresh = function(doc) {
frappe.set_route("query-report", doc.name); frappe.set_route("query-report", doc.name);
break; break;
} }
}, "icon-table")
}, "icon-table");

if (doc.is_standard === "Yes") {
cur_frm.add_custom_button(doc.disabled ? __("Enable Report") : __("Disable Report"), function() {
$.ajax({
url: "/api/resource/Report/" + encodeURIComponent(doc.name),
type: "POST",
data: {
run_method: "toggle_disable",
disable: doc.disabled ? 0 : 1
}
}).always(function() {
cur_frm.reload_doc();
});
}, doc.disabled ? "icon-ok" : "icon-off");
}


cur_frm.set_intro(""); cur_frm.set_intro("");
switch(doc.report_type) { switch(doc.report_type) {


+ 8
- 3
frappe/core/doctype/report/report.py 查看文件

@@ -3,7 +3,8 @@


from __future__ import unicode_literals from __future__ import unicode_literals
import frappe import frappe
from frappe import conf, _
from frappe import _
from frappe.utils import cint


from frappe.model.document import Document from frappe.model.document import Document


@@ -15,7 +16,7 @@ class Report(Document):


if not self.is_standard: if not self.is_standard:
self.is_standard = "No" self.is_standard = "No"
if frappe.session.user=="Administrator" and getattr(conf, 'developer_mode',0)==1:
if frappe.session.user=="Administrator" and getattr(frappe.local.conf, 'developer_mode',0)==1:
self.is_standard = "Yes" self.is_standard = "Yes"


if self.is_standard == "Yes" and frappe.session.user!="Administrator": if self.is_standard == "Yes" and frappe.session.user!="Administrator":
@@ -32,6 +33,10 @@ class Report(Document):


def export_doc(self): def export_doc(self):
from frappe.modules.export_file import export_to_files from frappe.modules.export_file import export_to_files
if self.is_standard == 'Yes' and (conf.get('developer_mode') or 0) == 1:
if self.is_standard == 'Yes' and (frappe.local.conf.get('developer_mode') or 0) == 1:
export_to_files(record_list=[['Report', self.name]], export_to_files(record_list=[['Report', self.name]],
record_module=self.module) record_module=self.module)

@Document.whitelist
def toggle_disable(self, disable):
self.db_set("disabled", cint(disable))

+ 6
- 3
frappe/widgets/query_report.py 查看文件

@@ -14,11 +14,14 @@ import frappe.widgets.reportview
def get_report_doc(report_name): def get_report_doc(report_name):
doc = frappe.get_doc("Report", report_name) doc = frappe.get_doc("Report", report_name)
if not doc.has_permission("read"): if not doc.has_permission("read"):
raise frappe.PermissionError("You don't have access to: {report}".format(report=report_name))
frappe.throw(_("You don't have access to Report: {0}").format(report_name), frappe.PermissionError)


if not frappe.has_permission(doc.ref_doctype, "report"): if not frappe.has_permission(doc.ref_doctype, "report"):
raise frappe.PermissionError("You don't have access to get a report on: {doctype}".format(
doctype=doc.ref_doctype))
frappe.throw(_("You don't have permission to get a report on: {0}").format(doc.ref_doctype),
frappe.PermissionError)

if doc.disabled:
frappe.throw(_("Report {0} is disabled").format(report_name))


return doc return doc




正在加载...
取消
保存