fix: don't make naming series mandatory for items (backport #28394) (#28396)

* fix: don't make naming series mandatory for items

Item variants are an exception, hence this needs to be checked
conditionally.

(cherry picked from commit 7fcaeca403)

* fix: patch for naming series property setter

(cherry picked from commit 54184e54ed)

# Conflicts:
#	erpnext/patches.txt

* fix: conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
This commit is contained in:
mergify[bot]
2021-11-15 18:56:15 +05:30
committed by GitHub
parent 2899394bcf
commit c1a1e9c399
4 changed files with 15 additions and 3 deletions

View File

@@ -331,5 +331,6 @@ erpnext.patches.v13_0.requeue_failed_reposts
erpnext.patches.v13_0.fetch_thumbnail_in_website_items
erpnext.patches.v13_0.update_job_card_status
erpnext.patches.v12_0.update_production_plan_status
erpnext.patches.v13_0.item_naming_series_not_mandatory
erpnext.patches.v13_0.update_category_in_ltds_certificate
erpnext.patches.v13_0.create_ksa_vat_custom_fields

View File

@@ -0,0 +1,11 @@
import frappe
from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
def execute():
stock_settings = frappe.get_doc("Stock Settings")
set_by_naming_series("Item", "item_code",
stock_settings.get("item_naming_by")=="Naming Series", hide_name_field=True, make_mandatory=0)

View File

@@ -181,11 +181,11 @@ class NamingSeries(Document):
prefix = parse_naming_series(parts)
return prefix
def set_by_naming_series(doctype, fieldname, naming_series, hide_name_field=True):
def set_by_naming_series(doctype, fieldname, naming_series, hide_name_field=True, make_mandatory=1):
from frappe.custom.doctype.property_setter.property_setter import make_property_setter
if naming_series:
make_property_setter(doctype, "naming_series", "hidden", 0, "Check", validate_fields_for_doctype=False)
make_property_setter(doctype, "naming_series", "reqd", 1, "Check", validate_fields_for_doctype=False)
make_property_setter(doctype, "naming_series", "reqd", make_mandatory, "Check", validate_fields_for_doctype=False)
# set values for mandatory
try:

View File

@@ -21,7 +21,7 @@ class StockSettings(Document):
from erpnext.setup.doctype.naming_series.naming_series import set_by_naming_series
set_by_naming_series("Item", "item_code",
self.get("item_naming_by")=="Naming Series", hide_name_field=True)
self.get("item_naming_by")=="Naming Series", hide_name_field=True, make_mandatory=0)
stock_frozen_limit = 356
submitted_stock_frozen = self.stock_frozen_upto_days or 0