Merge pull request #55664 from frappe/mergify/bp/version-16-hotfix/pr-55661

fix: naming series issue (backport #55661)
This commit is contained in:
rohitwaghchaure
2026-06-05 21:06:00 +05:30
committed by GitHub
2 changed files with 19 additions and 4 deletions

View File

@@ -11,7 +11,6 @@ from frappe.model.naming import make_autoname, revert_series_if_last
from frappe.query_builder.functions import CurDate, Sum from frappe.query_builder.functions import CurDate, Sum
from frappe.utils import cint, flt, get_link_to_form from frappe.utils import cint, flt, get_link_to_form
from frappe.utils.data import add_days from frappe.utils.data import add_days
from frappe.utils.jinja import render_template
class UnableToSelectBatchError(frappe.ValidationError): class UnableToSelectBatchError(frappe.ValidationError):
@@ -225,10 +224,8 @@ class Batch(Document):
:return: The string that was generated. :return: The string that was generated.
""" """
naming_series_prefix = _get_batch_prefix() naming_series_prefix = _get_batch_prefix()
# validate_template(naming_series_prefix)
naming_series_prefix = render_template(str(naming_series_prefix), self.__dict__)
key = _make_naming_series_key(naming_series_prefix) key = _make_naming_series_key(naming_series_prefix)
name = make_autoname(key) name = make_autoname(key, doc=self)
return name return name

View File

@@ -498,6 +498,24 @@ class TestBatch(ERPNextTestSuite):
if not use_naming_series: if not use_naming_series:
frappe.set_value("Stock Settings", "Stock Settings", "use_naming_series", 0) frappe.set_value("Stock Settings", "Stock Settings", "use_naming_series", 0)
def test_naming_series_prefix_is_not_rendered_as_jinja(self):
from frappe.model.naming import InvalidNamingSeriesError
stock_settings = frappe.get_single("Stock Settings")
use_naming_series = cint(stock_settings.use_naming_series)
original_prefix = stock_settings.naming_series_prefix
frappe.set_value("Stock Settings", "Stock Settings", "use_naming_series", 1)
frappe.set_value("Stock Settings", "Stock Settings", "naming_series_prefix", "{{ 7*7 }}")
try:
self.assertRaises(
InvalidNamingSeriesError, self.make_new_batch, "_Test Stock Item For Batch SSTI"
)
finally:
frappe.set_value("Stock Settings", "Stock Settings", "naming_series_prefix", original_prefix)
frappe.set_value("Stock Settings", "Stock Settings", "use_naming_series", use_naming_series)
def make_new_batch(self, item_name=None, batch_id=None, do_not_insert=0): def make_new_batch(self, item_name=None, batch_id=None, do_not_insert=0):
batch = frappe.new_doc("Batch") batch = frappe.new_doc("Batch")
item = self.make_batch_item(item_name) item = self.make_batch_item(item_name)