Selaa lähdekoodia

Reload in_standard_filter property

version-14
Nabin Hait 8 vuotta sitten
vanhempi
commit
4112407391
10 muutettua tiedostoa jossa 43 lisäystä ja 61 poistoa
  1. +5
    -4
      frappe/__init__.py
  2. +1
    -1
      frappe/core/doctype/docfield/docfield.json
  3. +1
    -1
      frappe/core/page/data_import_tool/data_import_tool.py
  4. +2
    -37
      frappe/custom/doctype/custom_field/custom_field.json
  5. +1
    -1
      frappe/installer.py
  6. +4
    -4
      frappe/model/sync.py
  7. +13
    -10
      frappe/modules/import_file.py
  8. +2
    -2
      frappe/modules/utils.py
  9. +2
    -1
      frappe/patches.txt
  10. +12
    -0
      frappe/patches/v7_2/set_in_standard_filter_property.py

+ 5
- 4
frappe/__init__.py Näytä tiedosto

@@ -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`"""


+ 1
- 1
frappe/core/doctype/docfield/docfield.json Näytä tiedosto

@@ -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",


+ 1
- 1
frappe/core/page/data_import_tool/data_import_tool.py Näytä tiedosto

@@ -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"):


+ 2
- 37
frappe/custom/doctype/custom_field/custom_field.json Näytä tiedosto

@@ -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",


+ 1
- 1
frappe/installer.py Näytä tiedosto

@@ -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)



+ 4
- 4
frappe/model/sync.py Näytä tiedosto

@@ -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()


+ 13
- 10
frappe/modules/import_file.py Näytä tiedosto

@@ -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)



+ 2
- 2
frappe/modules/utils.py Näytä tiedosto

@@ -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."""


+ 2
- 1
frappe/patches.txt Näytä tiedosto

@@ -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
- 0
frappe/patches/v7_2/set_in_standard_filter_property.py Näytä tiedosto

@@ -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)

Ladataan…
Peruuta
Tallenna