From 0ce499e13d845f918315d9198efc261340d2169d Mon Sep 17 00:00:00 2001 From: Manas Solanki Date: Tue, 13 Jun 2017 15:33:08 +0530 Subject: [PATCH] Configurable error traceback (#3464) * Configurable error traceback * Create system_settings.json --- .../system_settings/system_settings.json | 36 +++++++++++++++++-- frappe/patches/v8_0/set_allow_traceback.py | 5 +++ frappe/utils/response.py | 3 +- 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 frappe/patches/v8_0/set_allow_traceback.py diff --git a/frappe/core/doctype/system_settings/system_settings.json b/frappe/core/doctype/system_settings/system_settings.json index 937de3ecf9..b5cf055ae7 100644 --- a/frappe/core/doctype/system_settings/system_settings.json +++ b/frappe/core/doctype/system_settings/system_settings.json @@ -801,6 +801,38 @@ "set_only_once": 0, "unique": 0 }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "1", + "description": "", + "fieldname": "allow_error_traceback", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Show Full Error and Allow Reporting of Issues to the Developer", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, { "allow_bulk_edit": 0, "allow_on_submit": 0, @@ -933,7 +965,7 @@ "issingle": 1, "istable": 0, "max_attachments": 0, - "modified": "2017-05-23 09:12:50.353877", + "modified": "2017-06-12 13:05:28.924098", "modified_by": "Administrator", "module": "Core", "name": "System Settings", @@ -968,4 +1000,4 @@ "sort_order": "ASC", "track_changes": 1, "track_seen": 0 -} \ No newline at end of file +} diff --git a/frappe/patches/v8_0/set_allow_traceback.py b/frappe/patches/v8_0/set_allow_traceback.py new file mode 100644 index 0000000000..2b1e91a7ae --- /dev/null +++ b/frappe/patches/v8_0/set_allow_traceback.py @@ -0,0 +1,5 @@ +import frappe + +def execute(): + frappe.reload_doc('core', 'doctype', 'system_settings') + frappe.db.sql("update `tabSystem Settings` set allow_error_traceback=1") diff --git a/frappe/utils/response.py b/frappe/utils/response.py index 1213f812ec..66a66a579b 100644 --- a/frappe/utils/response.py +++ b/frappe/utils/response.py @@ -18,10 +18,11 @@ from werkzeug.wrappers import Response from werkzeug.exceptions import NotFound, Forbidden from frappe.core.doctype.file.file import check_file_permission from frappe.website.render import render +from frappe.utils import cint def report_error(status_code): '''Build error. Show traceback in developer mode''' - if (frappe.conf.developer_mode + if (cint(frappe.db.get_system_setting('allow_error_traceback')) and (status_code!=404 or frappe.conf.logging) and not frappe.local.flags.disable_traceback): frappe.errprint(frappe.utils.get_traceback())