瀏覽代碼

[minor] add a separator for append_number_if_name_exists

version-14
Rushabh Mehta 8 年之前
父節點
當前提交
e8af0b15b1
共有 1 個檔案被更改,包括 4 行新增4 行删除
  1. +4
    -4
      frappe/model/naming.py

+ 4
- 4
frappe/model/naming.py 查看文件

@@ -187,19 +187,19 @@ def _set_amended_name(doc):
doc.name = am_prefix + '-' + str(am_id) doc.name = am_prefix + '-' + str(am_id)
return doc.name return doc.name


def append_number_if_name_exists(doctype, name, fieldname='name'):
def append_number_if_name_exists(doctype, name, fieldname='name', separator='-'):
if frappe.db.exists(doctype, name): if frappe.db.exists(doctype, name):
last = frappe.db.sql("""select name from `tab{doctype}` last = frappe.db.sql("""select name from `tab{doctype}`
where {fieldname} regexp '^{name}-[[:digit:]]+'
where {fieldname} regexp '^{name}{separator}[[:digit:]]+'
order by length({fieldname}) desc, order by length({fieldname}) desc,
{fieldname} desc limit 1""".format(doctype=doctype, {fieldname} desc limit 1""".format(doctype=doctype,
name=name, fieldname=fieldname))
name=name, fieldname=fieldname, separator=separator))


if last: if last:
count = str(cint(last[0][0].rsplit("-", 1)[1]) + 1) count = str(cint(last[0][0].rsplit("-", 1)[1]) + 1)
else: else:
count = "1" count = "1"


name = "{0}-{1}".format(name, count)
name = "{0}{1}{2}".format(name, separator, count)


return name return name

Loading…
取消
儲存