瀏覽代碼

[minor] copy_doc ignore_no_copy

version-14
Anand Doshi 10 年之前
父節點
當前提交
b201bae900
共有 1 個檔案被更改,包括 13 行新增1 行删除
  1. +13
    -1
      frappe/__init__.py

+ 13
- 1
frappe/__init__.py 查看文件

@@ -549,9 +549,15 @@ def import_doc(path, ignore_links=False, ignore_insert=False, insert=False):
from frappe.core.page.data_import_tool import data_import_tool
data_import_tool.import_doc(path, ignore_links=ignore_links, ignore_insert=ignore_insert, insert=insert)

def copy_doc(doc):
def copy_doc(doc, ignore_no_copy=True):
""" No_copy fields also get copied."""
import copy

def remove_no_copy_fields(d):
for df in d.meta.get("fields", {"no_copy": 1}):
if hasattr(d, df.fieldname):
d.set(df.fieldname, None)

if not isinstance(doc, dict):
d = doc.as_dict()
else:
@@ -564,12 +570,18 @@ def copy_doc(doc):
newdoc.creation = None
newdoc.amended_from = None
newdoc.amendment_date = None
if not ignore_no_copy:
remove_no_copy_fields(newdoc)

for d in newdoc.get_all_children():
d.name = None
d.parent = None
d.set("__islocal", 1)
d.owner = None
d.creation = None
if not ignore_no_copy:
remove_no_copy_fields(d)

return newdoc

def compare(val1, condition, val2):


Loading…
取消
儲存