mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-04 04:39:11 +00:00
refactor!: drop naming series tool (#31183)
This commit is contained in:
60
erpnext/utilities/naming.py
Normal file
60
erpnext/utilities/naming.py
Normal file
@@ -0,0 +1,60 @@
|
||||
import frappe
|
||||
from frappe.model.naming import get_default_naming_series
|
||||
|
||||
|
||||
class NamingSeriesNotSetError(frappe.ValidationError):
|
||||
pass
|
||||
|
||||
|
||||
def set_by_naming_series(
|
||||
doctype, fieldname, naming_series, hide_name_field=True, make_mandatory=1
|
||||
):
|
||||
"""Change a doctype's naming to user naming series"""
|
||||
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", make_mandatory, "Check", validate_fields_for_doctype=False
|
||||
)
|
||||
|
||||
# set values for mandatory
|
||||
try:
|
||||
frappe.db.sql(
|
||||
"""update `tab{doctype}` set naming_series={s} where
|
||||
ifnull(naming_series, '')=''""".format(
|
||||
doctype=doctype, s="%s"
|
||||
),
|
||||
get_default_naming_series(doctype),
|
||||
)
|
||||
except NamingSeriesNotSetError:
|
||||
pass
|
||||
|
||||
if hide_name_field:
|
||||
make_property_setter(doctype, fieldname, "reqd", 0, "Check", validate_fields_for_doctype=False)
|
||||
make_property_setter(
|
||||
doctype, fieldname, "hidden", 1, "Check", validate_fields_for_doctype=False
|
||||
)
|
||||
else:
|
||||
make_property_setter(
|
||||
doctype, "naming_series", "reqd", 0, "Check", validate_fields_for_doctype=False
|
||||
)
|
||||
make_property_setter(
|
||||
doctype, "naming_series", "hidden", 1, "Check", validate_fields_for_doctype=False
|
||||
)
|
||||
|
||||
if hide_name_field:
|
||||
make_property_setter(
|
||||
doctype, fieldname, "hidden", 0, "Check", validate_fields_for_doctype=False
|
||||
)
|
||||
make_property_setter(doctype, fieldname, "reqd", 1, "Check", validate_fields_for_doctype=False)
|
||||
|
||||
# set values for mandatory
|
||||
frappe.db.sql(
|
||||
"""update `tab{doctype}` set `{fieldname}`=`name` where
|
||||
ifnull({fieldname}, '')=''""".format(
|
||||
doctype=doctype, fieldname=fieldname
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user