set fieldname for Section Break and Column Break, only if fieldname is not set, else it breaks existing custom fields. Also Use label for creating fieldname if user has entered label
This commit is contained in:
parent
5916f45b66
commit
fa46d65754
1 changed files with 9 additions and 6 deletions
|
|
@ -14,14 +14,17 @@ class CustomField(Document):
|
|||
self.name = self.dt + "-" + self.fieldname
|
||||
|
||||
def set_fieldname(self):
|
||||
if self.fieldtype in ["Section Break", "Column Break"]:
|
||||
self.fieldname = self.fieldtype.lower().replace(" ","_") + "_" + str(self.idx)
|
||||
if not self.fieldname:
|
||||
if not self.label:
|
||||
frappe.throw(_("Label is mandatory"))
|
||||
label = self.label
|
||||
if not label:
|
||||
if self.fieldtype in ["Section Break", "Column Break"]:
|
||||
label = self.fieldtype + "_" + str(self.idx)
|
||||
else:
|
||||
frappe.throw(_("Label is mandatory"))
|
||||
|
||||
# remove special characters from fieldname
|
||||
self.fieldname = "".join(filter(lambda x: x.isdigit() or x.isalpha() or '_',
|
||||
cstr(self.label).lower().replace(' ','_')))
|
||||
cstr(label).replace(' ','_')))
|
||||
|
||||
# fieldnames should be lowercase
|
||||
self.fieldname = self.fieldname.lower()
|
||||
|
|
@ -130,4 +133,4 @@ def create_custom_fields(custom_fields):
|
|||
@frappe.whitelist()
|
||||
def add_custom_field(doctype, df):
|
||||
df = json.loads(df)
|
||||
return create_custom_field(doctype, df)
|
||||
return create_custom_field(doctype, df)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue