fix: inv dimensions fields not creating for standard doctype (#44504)
(cherry picked from commit 353610ce61)
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
This commit is contained in:
@@ -214,13 +214,10 @@ class InventoryDimension(Document):
|
|||||||
dimension_fields = []
|
dimension_fields = []
|
||||||
if self.apply_to_all_doctypes:
|
if self.apply_to_all_doctypes:
|
||||||
for doctype in get_inventory_documents():
|
for doctype in get_inventory_documents():
|
||||||
if field_exists(doctype[0], self.source_fieldname):
|
|
||||||
continue
|
|
||||||
|
|
||||||
dimension_fields = self.get_dimension_fields(doctype[0])
|
dimension_fields = self.get_dimension_fields(doctype[0])
|
||||||
self.add_transfer_field(doctype[0], dimension_fields)
|
self.add_transfer_field(doctype[0], dimension_fields)
|
||||||
custom_fields.setdefault(doctype[0], dimension_fields)
|
custom_fields.setdefault(doctype[0], dimension_fields)
|
||||||
elif not field_exists(self.document_type, self.source_fieldname):
|
else:
|
||||||
dimension_fields = self.get_dimension_fields()
|
dimension_fields = self.get_dimension_fields()
|
||||||
|
|
||||||
self.add_transfer_field(self.document_type, dimension_fields)
|
self.add_transfer_field(self.document_type, dimension_fields)
|
||||||
@@ -239,8 +236,17 @@ class InventoryDimension(Document):
|
|||||||
dimension_field["fieldname"] = self.target_fieldname
|
dimension_field["fieldname"] = self.target_fieldname
|
||||||
custom_fields["Stock Ledger Entry"] = dimension_field
|
custom_fields["Stock Ledger Entry"] = dimension_field
|
||||||
|
|
||||||
|
filter_custom_fields = {}
|
||||||
if custom_fields:
|
if custom_fields:
|
||||||
create_custom_fields(custom_fields)
|
for doctype, fields in custom_fields.items():
|
||||||
|
if isinstance(fields, dict):
|
||||||
|
fields = [fields]
|
||||||
|
|
||||||
|
for field in fields:
|
||||||
|
if not field_exists(doctype, field["fieldname"]):
|
||||||
|
filter_custom_fields.setdefault(doctype, []).append(field)
|
||||||
|
|
||||||
|
create_custom_fields(filter_custom_fields)
|
||||||
|
|
||||||
def add_transfer_field(self, doctype, dimension_fields):
|
def add_transfer_field(self, doctype, dimension_fields):
|
||||||
if doctype not in [
|
if doctype not in [
|
||||||
|
|||||||
Reference in New Issue
Block a user