Fixes in doc
This commit is contained in:
parent
78770434a7
commit
305d3d7c68
1 changed files with 18 additions and 18 deletions
|
|
@ -217,8 +217,6 @@ class Document:
|
|||
def save(self, new=0, check_links=1, ignore_fields=0, make_autoname=1,
|
||||
keep_timestamps=False):
|
||||
|
||||
self.get_meta()
|
||||
|
||||
if new:
|
||||
self.fields["__islocal"] = 1
|
||||
|
||||
|
|
@ -230,7 +228,7 @@ class Document:
|
|||
self.set_idx()
|
||||
|
||||
# if required, make new
|
||||
if not self._meta[0].issingle:
|
||||
if not self.meta.issingle:
|
||||
if self.is_new():
|
||||
r = self._insert(make_autoname=make_autoname, keep_timestamps = keep_timestamps)
|
||||
if r:
|
||||
|
|
@ -242,7 +240,7 @@ class Document:
|
|||
|
||||
|
||||
# save the values
|
||||
self._update_values(self._meta[0].issingle,
|
||||
self._update_values(self.meta.issingle,
|
||||
check_links and self.make_link_list() or {}, ignore_fields=ignore_fields,
|
||||
keep_timestamps=keep_timestamps)
|
||||
self._clear_temp_fields()
|
||||
|
|
@ -264,8 +262,7 @@ class Document:
|
|||
|
||||
self._new_name_set = True
|
||||
|
||||
self.get_meta()
|
||||
autoname = self._meta[0].autoname
|
||||
autoname = self.meta.autoname
|
||||
|
||||
self.localname = self.name
|
||||
|
||||
|
|
@ -306,7 +303,7 @@ class Document:
|
|||
self.name = self.fields['__newname']
|
||||
|
||||
# default name for table
|
||||
elif self._meta[0].istable:
|
||||
elif self.meta.istable:
|
||||
self.name = make_autoname('#########', self.doctype)
|
||||
|
||||
# unable to determine a name, use global series
|
||||
|
|
@ -343,7 +340,7 @@ class Document:
|
|||
self.set_new_name()
|
||||
|
||||
# validate name
|
||||
self.name = validate_name(self.doctype, self.name, self._meta[0].name_case)
|
||||
self.name = validate_name(self.doctype, self.name, self.meta.name_case)
|
||||
|
||||
# insert!
|
||||
if not keep_timestamps:
|
||||
|
|
@ -460,12 +457,10 @@ class Document:
|
|||
if getattr(frappe.local, "valid_fields_map", None) is None:
|
||||
frappe.local.valid_fields_map = {}
|
||||
|
||||
self.get_meta()
|
||||
|
||||
valid_fields_map = frappe.local.valid_fields_map
|
||||
|
||||
if not valid_fields_map.get(self.doctype):
|
||||
if cint( self._meta[0].issingle):
|
||||
if cint(self.meta.issingle):
|
||||
doctypelist = frappe.model.doctype.get(self.doctype)
|
||||
valid_fields_map[self.doctype] = doctypelist.get_fieldnames({
|
||||
"fieldtype": ["not in", frappe.model.no_value_fields]})
|
||||
|
|
@ -476,21 +471,26 @@ class Document:
|
|||
return valid_fields_map.get(self.doctype)
|
||||
|
||||
def validate_constants(self):
|
||||
self.get_meta()
|
||||
constants = [d.fieldname for d in self._meta.get({"set_only_once": 1})]
|
||||
if frappe.flags.in_import:
|
||||
return
|
||||
|
||||
meta = frappe.get_doctype(self.doctype)
|
||||
constants = [d.fieldname for d in meta.get({"set_only_once": 1})]
|
||||
if constants:
|
||||
values = frappe.db.get_value(self.doctype, self.name, constants, as_dict=True)
|
||||
|
||||
for fieldname in constants:
|
||||
if self.fields.get(fieldname) != values.get(fieldname):
|
||||
frappe.throw("{0}: {1}".format(_("Value cannot be changed for"),
|
||||
_(self._meta.get_field(fieldname).label)), frappe.CannotChangeConstantError)
|
||||
|
||||
def get_meta(self):
|
||||
_(meta.get_field(fieldname).label)), frappe.CannotChangeConstantError)
|
||||
|
||||
@property
|
||||
def meta(self):
|
||||
if not self._meta:
|
||||
self._meta = frappe.get_doctype(self.doctype)
|
||||
self._meta = frappe.db.get_value("DocType", self.doctype, "*", as_dict=True) \
|
||||
or frappe._dict()
|
||||
|
||||
return self._meta
|
||||
|
||||
|
||||
def update_parentinfo(self):
|
||||
"""update parent type and parent field, if not explicitly specified"""
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue