diff --git a/frappe/__init__.py b/frappe/__init__.py index e00cf248b6..f0b5352f22 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -13,7 +13,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template -__version__ = '7.2.5' +__version__ = '7.2.6' __title__ = "Frappe Framework" local = Local() @@ -635,11 +635,12 @@ def delete_doc_if_exists(doctype, name, force=0): if db.exists(doctype, name): delete_doc(doctype, name, force=force) -def reload_doctype(doctype, force=False): +def reload_doctype(doctype, force=False, reset_permissions=False): """Reload DocType from model (`[module]/[doctype]/[name]/[name].json`) files.""" - reload_doc(scrub(db.get_value("DocType", doctype, "module")), "doctype", scrub(doctype), force=force) + reload_doc(scrub(db.get_value("DocType", doctype, "module")), "doctype", scrub(doctype), + force=force, reset_permissions=reset_permissions) -def reload_doc(module, dt=None, dn=None, force=False): +def reload_doc(module, dt=None, dn=None, force=False, reset_permissions=False): """Reload Document from model (`[module]/[doctype]/[name]/[name].json`) files. :param module: Module name. @@ -649,7 +650,7 @@ def reload_doc(module, dt=None, dn=None, force=False): """ import frappe.modules - return frappe.modules.reload_doc(module, dt, dn, force=force) + return frappe.modules.reload_doc(module, dt, dn, force=force, reset_permissions=reset_permissions) def rename_doc(doctype, old, new, debug=0, force=False, merge=False, ignore_permissions=False): """Rename a document. Calls `frappe.model.rename_doc.rename_doc`""" diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index 3601b986f0..bbec8ac810 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -1174,7 +1174,7 @@ "issingle": 0, "istable": 1, "max_attachments": 0, - "modified": "2016-10-26 17:29:04.205496", + "modified": "2017-01-06 07:29:04.205496", "modified_by": "Administrator", "module": "Core", "name": "DocField", diff --git a/frappe/core/page/data_import_tool/data_import_tool.py b/frappe/core/page/data_import_tool/data_import_tool.py index d77127d286..77786f09e1 100644 --- a/frappe/core/page/data_import_tool/data_import_tool.py +++ b/frappe/core/page/data_import_tool/data_import_tool.py @@ -92,7 +92,7 @@ def import_doc(path, overwrite=False, ignore_links=False, ignore_insert=False, for f in files: if f.endswith(".json"): frappe.flags.mute_emails = True - frappe.modules.import_file.import_file_by_path(f, data_import=True, force=True, pre_process=pre_process) + frappe.modules.import_file.import_file_by_path(f, data_import=True, force=True, pre_process=pre_process, reset_permissions=True) frappe.flags.mute_emails = False frappe.db.commit() elif f.endswith(".csv"): diff --git a/frappe/custom/doctype/custom_field/custom_field.json b/frappe/custom/doctype/custom_field/custom_field.json index af7d5a93d9..e7c0fd4a09 100644 --- a/frappe/custom/doctype/custom_field/custom_field.json +++ b/frappe/custom/doctype/custom_field/custom_field.json @@ -23,7 +23,6 @@ "ignore_xss_filter": 0, "in_filter": 1, "in_list_view": 1, - "in_standard_filter": 1, "label": "Document", "length": 0, "no_copy": 0, @@ -53,7 +52,6 @@ "ignore_xss_filter": 0, "in_filter": 1, "in_list_view": 0, - "in_standard_filter": 0, "label": "Label", "length": 0, "no_copy": 1, @@ -82,7 +80,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Label Help", "length": 0, "no_copy": 0, @@ -110,7 +107,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 1, - "in_standard_filter": 0, "label": "Fieldname", "length": 0, "no_copy": 1, @@ -141,7 +137,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Insert After", "length": 0, "no_copy": 1, @@ -170,7 +165,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -198,7 +192,6 @@ "ignore_xss_filter": 0, "in_filter": 1, "in_list_view": 1, - "in_standard_filter": 0, "label": "Field Type", "length": 0, "no_copy": 0, @@ -230,7 +223,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Precision", "length": 0, "no_copy": 0, @@ -259,7 +251,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 1, - "in_standard_filter": 0, "label": "Options", "length": 0, "no_copy": 0, @@ -288,7 +279,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Options Help", "length": 0, "no_copy": 0, @@ -316,7 +306,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -344,7 +333,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Collapsible", "length": 0, "no_copy": 0, @@ -373,7 +361,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Collapsible Depends On", "length": 0, "no_copy": 0, @@ -401,7 +388,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Default Value", "length": 0, "no_copy": 0, @@ -430,7 +416,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Depends On", "length": 255, "no_copy": 0, @@ -457,7 +442,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Field Description", "length": 0, "no_copy": 0, @@ -489,7 +473,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Permission Level", "length": 0, "no_copy": 0, @@ -518,7 +501,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Width", "length": 0, "no_copy": 0, @@ -547,7 +529,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "", "length": 0, "no_copy": 0, @@ -577,7 +558,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 1, - "in_standard_filter": 0, "label": "Is Mandatory Field", "length": 0, "no_copy": 0, @@ -606,7 +586,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Unique", "length": 0, "no_copy": 0, @@ -634,7 +613,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Read Only", "length": 0, "no_copy": 0, @@ -662,7 +640,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Ignore User Permissions", "length": 0, "no_copy": 0, @@ -689,7 +666,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Hidden", "length": 0, "no_copy": 0, @@ -716,7 +692,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Print Hide", "length": 0, "no_copy": 0, @@ -746,7 +721,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Print Hide If No Value", "length": 0, "no_copy": 0, @@ -774,7 +748,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Print Width", "length": 0, "no_copy": 1, @@ -801,7 +774,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "No Copy", "length": 0, "no_copy": 0, @@ -830,7 +802,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Allow on Submit", "length": 0, "no_copy": 0, @@ -859,7 +830,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "In Report Filter", "length": 0, "no_copy": 0, @@ -888,7 +858,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "In List View", "length": 0, "no_copy": 0, @@ -908,14 +877,13 @@ "bold": 0, "collapsible": 0, "columns": 0, - "fieldname": "in_filter_dash", + "fieldname": "in_standard_filter", "fieldtype": "Check", "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "In Standard Filter", "length": 0, "no_copy": 0, @@ -943,7 +911,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Report Hide", "length": 0, "no_copy": 0, @@ -972,7 +939,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Index", "length": 0, "no_copy": 1, @@ -1000,7 +966,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Ignore XSS Filter", "length": 0, "no_copy": 0, @@ -1028,7 +993,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2016-11-07 05:23:16.370928", + "modified": "2017-01-06 12:24:04.186289", "modified_by": "Administrator", "module": "Custom", "name": "Custom Field", diff --git a/frappe/custom/doctype/customize_form_field/customize_form_field.json b/frappe/custom/doctype/customize_form_field/customize_form_field.json index f123cd1dd7..ee924c370e 100644 --- a/frappe/custom/doctype/customize_form_field/customize_form_field.json +++ b/frappe/custom/doctype/customize_form_field/customize_form_field.json @@ -1035,7 +1035,7 @@ "issingle": 0, "istable": 1, "max_attachments": 0, - "modified": "2016-10-26 17:29:44.206837", + "modified": "2017-01-05 17:29:44.206837", "modified_by": "Administrator", "module": "Custom", "name": "Customize Form Field", @@ -1046,4 +1046,4 @@ "read_only_onload": 0, "sort_order": "ASC", "track_seen": 0 -} \ No newline at end of file +} diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.js b/frappe/email/doctype/auto_email_report/auto_email_report.js index 019cdc6a52..dd79e0f5a4 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.js +++ b/frappe/email/doctype/auto_email_report/auto_email_report.js @@ -63,6 +63,7 @@ frappe.ui.form.on('Auto Email Report', { var filters = JSON.parse(frm.doc.filters || '{}'); var report_filters = frappe.query_reports[frm.doc.report].filters; + frm.set_value('filter_meta', JSON.stringify(report_filters)); report_filters_list = [] $.each(report_filters, function(key, val){ diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.json b/frappe/email/doctype/auto_email_report/auto_email_report.json index 03a28175bd..af47b089c3 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.json +++ b/frappe/email/doctype/auto_email_report/auto_email_report.json @@ -24,7 +24,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Report", "length": 0, "no_copy": 0, @@ -54,7 +53,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Based on Permissions For User", "length": 0, "no_copy": 0, @@ -84,7 +82,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Enabled", "length": 0, "no_copy": 0, @@ -113,7 +110,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Send only if there is any data", "length": 0, "no_copy": 0, @@ -141,7 +137,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -168,7 +163,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Report Type", "length": 0, "no_copy": 0, @@ -199,7 +193,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "No of Rows (Max 500)", "length": 0, "no_copy": 0, @@ -228,7 +221,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Report Filters", "length": 0, "no_copy": 0, @@ -256,7 +248,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Filters Display", "length": 0, "no_copy": 0, @@ -284,7 +275,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Filters", "length": 0, "no_copy": 0, @@ -300,6 +290,33 @@ "set_only_once": 0, "unique": 0 }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "filter_meta", + "fieldtype": "Text", + "hidden": 1, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Filter Meta", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 1, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, { "allow_on_submit": 0, "bold": 0, @@ -312,7 +329,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Email Settings", "length": 0, "no_copy": 0, @@ -340,7 +356,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Email To", "length": 0, "no_copy": 0, @@ -370,7 +385,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Day of Week", "length": 0, "no_copy": 0, @@ -399,7 +413,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "length": 0, "no_copy": 0, "permlevel": 0, @@ -426,7 +439,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 1, - "in_standard_filter": 1, "label": "Frequency", "length": 0, "no_copy": 0, @@ -455,7 +467,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Format", "length": 0, "no_copy": 0, @@ -484,7 +495,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Message", "length": 0, "no_copy": 0, @@ -512,7 +522,6 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "in_standard_filter": 0, "label": "Message", "length": 0, "no_copy": 0, @@ -539,7 +548,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2016-11-07 05:50:31.903959", + "modified": "2017-01-07 14:27:19.605466", "modified_by": "Administrator", "module": "Email", "name": "Auto Email Report", diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.py b/frappe/email/doctype/auto_email_report/auto_email_report.py index 710d6ddc3f..a99c90d2d6 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.py +++ b/frappe/email/doctype/auto_email_report/auto_email_report.py @@ -69,6 +69,9 @@ class AutoEmailReport(Document): return "{0}.{1}".format(self.report.replace(" ", "-").replace("/", "-"), self.format.lower()) def send(self): + if self.filter_meta and not self.filters: + frappe.throw(_("Please set filters value in Report Filter table.")) + data = self.get_report_content() if not data: return diff --git a/frappe/installer.py b/frappe/installer.py index 3a3237ea25..8da3af524d 100755 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -129,7 +129,7 @@ def install_app(name, verbose=False, set_as_patched=True): if name != "frappe": add_module_defs(name) - sync_for(name, force=True, sync_everything=True, verbose=verbose) + sync_for(name, force=True, sync_everything=True, verbose=verbose, reset_permissions=True) sync_from_app(name) diff --git a/frappe/model/sync.py b/frappe/model/sync.py index 2253778f50..5bc1a5d0f8 100644 --- a/frappe/model/sync.py +++ b/frappe/model/sync.py @@ -12,17 +12,17 @@ from frappe.modules.import_file import import_file_by_path from frappe.modules.patch_handler import block_user from frappe.utils import update_progress_bar -def sync_all(force=0, verbose=False): +def sync_all(force=0, verbose=False, reset_permissions=False): block_user(True) for app in frappe.get_installed_apps(): - sync_for(app, force, verbose=verbose) + sync_for(app, force, verbose=verbose, reset_permissions=reset_permissions) block_user(False) frappe.clear_cache() -def sync_for(app_name, force=0, sync_everything = False, verbose=False): +def sync_for(app_name, force=0, sync_everything = False, verbose=False, reset_permissions=False): files = [] if app_name == "frappe": @@ -41,7 +41,7 @@ def sync_for(app_name, force=0, sync_everything = False, verbose=False): l = len(files) if l: for i, doc_path in enumerate(files): - import_file_by_path(doc_path, force=force) + import_file_by_path(doc_path, force=force, reset_permissions=reset_permissions) #print module_name + ' | ' + doctype + ' | ' + name frappe.db.commit() diff --git a/frappe/modules/import_file.py b/frappe/modules/import_file.py index 3738a04900..1893dd2375 100644 --- a/frappe/modules/import_file.py +++ b/frappe/modules/import_file.py @@ -7,19 +7,21 @@ import frappe, os, json from frappe.modules import get_module_path, scrub_dt_dn from frappe.utils import get_datetime_str -def import_files(module, dt=None, dn=None, force=False, pre_process=None): +def import_files(module, dt=None, dn=None, force=False, pre_process=None, reset_permissions=False): if type(module) is list: out = [] for m in module: - out.append(import_file(m[0], m[1], m[2], force=force, pre_process=pre_process)) + out.append(import_file(m[0], m[1], m[2], force=force, pre_process=pre_process, + reset_permissions=reset_permissions)) return out else: - return import_file(module, dt, dn, force=force, pre_process=pre_process) + return import_file(module, dt, dn, force=force, pre_process=pre_process, + reset_permissions=reset_permissions) -def import_file(module, dt, dn, force=False, pre_process=None): +def import_file(module, dt, dn, force=False, pre_process=None, reset_permissions=False): """Sync a file from txt if modifed, return false if not updated""" path = get_file_path(module, dt, dn) - ret = import_file_by_path(path, force, pre_process=pre_process) + ret = import_file_by_path(path, force, pre_process=pre_process, reset_permissions=reset_permissions) return ret def get_file_path(module, dt, dn): @@ -30,7 +32,7 @@ def get_file_path(module, dt, dn): return path -def import_file_by_path(path, force=False, data_import=False, pre_process=None): +def import_file_by_path(path, force=False, data_import=False, pre_process=None, reset_permissions=False): frappe.flags.in_import = True try: docs = read_doc_from_file(path) @@ -51,7 +53,8 @@ def import_file_by_path(path, force=False, data_import=False, pre_process=None): original_modified = doc.get("modified") - import_doc(doc, force=force, data_import=data_import, pre_process=pre_process) + import_doc(doc, data_import=data_import, pre_process=pre_process, + reset_permissions=reset_permissions) if original_modified: # since there is a new timestamp on the file, update timestamp in @@ -87,7 +90,7 @@ ignore_values = { ignore_doctypes = ["Page Role", "DocPerm"] -def import_doc(docdict, force=False, data_import=False, pre_process=None): +def import_doc(docdict, data_import=False, pre_process=None, reset_permissions=False): frappe.flags.in_import = True docdict["__islocal"] = 1 doc = frappe.get_doc(docdict) @@ -99,14 +102,14 @@ def import_doc(docdict, force=False, data_import=False, pre_process=None): if frappe.db.exists(doc.doctype, doc.name): old_doc = frappe.get_doc(doc.doctype, doc.name) - if doc.doctype in ignore_values and not force: + if doc.doctype in ignore_values: # update ignore values for key in ignore_values.get(doc.doctype) or []: doc.set(key, old_doc.get(key)) # update ignored docs into new doc for df in doc.meta.get_table_fields(): - if df.options in ignore_doctypes and not force: + if df.options in ignore_doctypes and not reset_permissions: doc.set(df.fieldname, []) ignore.append(df.options) diff --git a/frappe/modules/utils.py b/frappe/modules/utils.py index fb1f369a04..980e0b418c 100644 --- a/frappe/modules/utils.py +++ b/frappe/modules/utils.py @@ -136,9 +136,9 @@ def get_doc_path(module, doctype, name): dt, dn = scrub_dt_dn(doctype, name) return os.path.join(get_module_path(module), dt, dn) -def reload_doc(module, dt=None, dn=None, force=True): +def reload_doc(module, dt=None, dn=None, force=False, reset_permissions=False): from frappe.modules.import_file import import_files - return import_files(module, dt, dn, force=force) + return import_files(module, dt, dn, force=force, reset_permissions=reset_permissions) def export_doc(doctype, name, module=None): """Write a doc to standard path.""" diff --git a/frappe/patches.txt b/frappe/patches.txt index fd2e2a2cec..9005b95ba4 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -5,7 +5,7 @@ frappe.patches.v7_1.rename_scheduler_log_to_error_log frappe.patches.v6_1.rename_file_data frappe.patches.v7_0.re_route #2016-06-27 execute:frappe.reload_doc('core', 'doctype', 'doctype', force=True) #2016-10-17 -execute:frappe.reload_doc('core', 'doctype', 'docfield', force=True) #2016-02-26 +execute:frappe.reload_doc('core', 'doctype', 'docfield', force=True) #2017-01-06 execute:frappe.reload_doc('core', 'doctype', 'docperm') #2014-06-24 execute:frappe.reload_doc('core', 'doctype', 'role') execute:frappe.reload_doc('core', 'doctype', 'user') @@ -149,3 +149,4 @@ frappe.patches.v7_1.disabled_print_settings_for_custom_print_format frappe.patches.v7_2.set_doctype_engine frappe.patches.v7_2.merge_knowledge_base frappe.patches.v7_0.update_report_builder_json +frappe.patches.v7_2.set_in_standard_filter_property #1 \ No newline at end of file diff --git a/frappe/patches/v7_2/set_in_standard_filter_property.py b/frappe/patches/v7_2/set_in_standard_filter_property.py new file mode 100644 index 0000000000..85abda4008 --- /dev/null +++ b/frappe/patches/v7_2/set_in_standard_filter_property.py @@ -0,0 +1,12 @@ +import frappe + +def execute(): + frappe.reload_doc('custom', 'doctype', 'custom_field', force=True) + + try: + frappe.db.sql('update `tabCustom Field` set in_standard_filter = in_filter_dash') + except Exception, e: + if e.args[0]!=1054: raise e + + for doctype in frappe.get_all("DocType", {"istable": 0, "issingle": 0}): + frappe.reload_doctype(doctype.name, force=True) \ No newline at end of file diff --git a/frappe/website/doctype/help_category/help_category.py b/frappe/website/doctype/help_category/help_category.py index dbbc23b874..59df82b90c 100644 --- a/frappe/website/doctype/help_category/help_category.py +++ b/frappe/website/doctype/help_category/help_category.py @@ -27,4 +27,3 @@ class HelpCategory(WebsiteGenerator): def on_update(self): clear_cache() - super(HelpCategory, self).on_update()