Merge branch 'hotfix'
This commit is contained in:
commit
deb2784bda
15 changed files with 78 additions and 84 deletions
|
|
@ -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`"""
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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"):
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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){
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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."""
|
||||
|
|
|
|||
|
|
@ -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
|
||||
12
frappe/patches/v7_2/set_in_standard_filter_property.py
Normal file
12
frappe/patches/v7_2/set_in_standard_filter_property.py
Normal file
|
|
@ -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)
|
||||
|
|
@ -27,4 +27,3 @@ class HelpCategory(WebsiteGenerator):
|
|||
|
||||
def on_update(self):
|
||||
clear_cache()
|
||||
super(HelpCategory, self).on_update()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue