From ea18460cc29ed159cf3d6731605e28333babc837 Mon Sep 17 00:00:00 2001 From: vishdha Date: Fri, 10 Jun 2022 19:19:05 +0530 Subject: [PATCH 1/6] fix: date_field not able to fetch in _format_naming autoname --- frappe/model/naming.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/model/naming.py b/frappe/model/naming.py index f6a3846699..9fffa4f493 100644 --- a/frappe/model/naming.py +++ b/frappe/model/naming.py @@ -213,7 +213,7 @@ def set_name_from_naming_options(autoname, doc): doc.name = _format_autoname(autoname, doc) elif "#" in autoname: doc.name = make_autoname(autoname, doc=doc) - + return doc.name def set_naming_from_document_naming_rule(doc): """ @@ -317,9 +317,9 @@ def parse_naming_series( part = frappe.defaults.get_user_default("fiscal_year") elif e.startswith("{") and doc: e = e.replace("{", "").replace("}", "") - part = doc.get(e) + part = (cstr(doc.get(e)) or "").strip() elif doc and doc.get(e): - part = doc.get(e) + part = (cstr(doc.get(e)) or "").strip() else: part = e From 27f2cdf0169ca8217093aec01375bcc45f413c23 Mon Sep 17 00:00:00 2001 From: vishdha Date: Fri, 10 Jun 2022 20:33:33 +0530 Subject: [PATCH 2/6] chore: remove unused code --- frappe/model/naming.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/model/naming.py b/frappe/model/naming.py index 9fffa4f493..b674b0cd81 100644 --- a/frappe/model/naming.py +++ b/frappe/model/naming.py @@ -213,7 +213,7 @@ def set_name_from_naming_options(autoname, doc): doc.name = _format_autoname(autoname, doc) elif "#" in autoname: doc.name = make_autoname(autoname, doc=doc) - return doc.name + def set_naming_from_document_naming_rule(doc): """ From a9e222a7066a40586aaff66b7c9aba5ab01a99d5 Mon Sep 17 00:00:00 2001 From: vishdha Date: Fri, 17 Jun 2022 13:59:00 +0530 Subject: [PATCH 3/6] chore: test case added for _auto_name format for date field --- frappe/tests/test_naming.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/frappe/tests/test_naming.py b/frappe/tests/test_naming.py index d966fd5ce8..1a60b41b2b 100644 --- a/frappe/tests/test_naming.py +++ b/frappe/tests/test_naming.py @@ -12,7 +12,7 @@ from frappe.model.naming import ( revert_series_if_last, ) from frappe.tests.utils import FrappeTestCase -from frappe.utils import now_datetime +from frappe.utils import now_datetime, nowdate class TestNaming(FrappeTestCase): @@ -100,6 +100,23 @@ class TestNaming(FrappeTestCase): self.assertEqual(doc.name, f"TODO-{now_datetime().strftime('%m')}-{description}-{series:02}") + def test_format_autoname_for_date_field(self): + """ + Test if braced params are replaced in format autoname for date field + """ + doctype = new_doctype(autoname="format:TODO-{date}-{##}").insert() + + date = nowdate() + + doc = frappe.new_doc(doctype.name) + doc.date = date + doc.insert() + + series = getseries("", 2) + series = int(series) - 1 + + self.assertEqual(doc.name, f"TODO-{date}-{series:02}") + def test_format_autoname_for_consecutive_week_number(self): """ Test if braced params are replaced for consecutive week number in format autoname From 754de9a56b7bc97993c4a3336ecb718115e75880 Mon Sep 17 00:00:00 2001 From: vishdha Date: Fri, 17 Jun 2022 14:03:29 +0530 Subject: [PATCH 4/6] fix: minor change added --- frappe/tests/test_naming.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/tests/test_naming.py b/frappe/tests/test_naming.py index 1a60b41b2b..cb95cd60b3 100644 --- a/frappe/tests/test_naming.py +++ b/frappe/tests/test_naming.py @@ -106,7 +106,7 @@ class TestNaming(FrappeTestCase): """ doctype = new_doctype(autoname="format:TODO-{date}-{##}").insert() - date = nowdate() + date = nowdate() doc = frappe.new_doc(doctype.name) doc.date = date From 80de4349848be66cbbde9d4a78d72e52205db09c Mon Sep 17 00:00:00 2001 From: vishdha Date: Fri, 17 Jun 2022 20:07:14 +0530 Subject: [PATCH 5/6] chore: Test case added for datetime, date and time field --- frappe/tests/test_naming.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/frappe/tests/test_naming.py b/frappe/tests/test_naming.py index cb95cd60b3..f4cc28daef 100644 --- a/frappe/tests/test_naming.py +++ b/frappe/tests/test_naming.py @@ -12,7 +12,7 @@ from frappe.model.naming import ( revert_series_if_last, ) from frappe.tests.utils import FrappeTestCase -from frappe.utils import now_datetime, nowdate +from frappe.utils import now_datetime, nowdate, nowtime class TestNaming(FrappeTestCase): @@ -100,22 +100,26 @@ class TestNaming(FrappeTestCase): self.assertEqual(doc.name, f"TODO-{now_datetime().strftime('%m')}-{description}-{series:02}") - def test_format_autoname_for_date_field(self): + def test_format_autoname_for_datetime_field(self): """ - Test if braced params are replaced in format autoname for date field + Test if braced params are replaced in format autoname for datetime, date and time field """ - doctype = new_doctype(autoname="format:TODO-{date}-{##}").insert() + datetime = now_datetime() date = nowdate() + time = nowtime() - doc = frappe.new_doc(doctype.name) - doc.date = date - doc.insert() + for field in [datetime, date, time]: + doctype = new_doctype(autoname="format:TODO-{field}-{##}").insert() - series = getseries("", 2) - series = int(series) - 1 + doc = frappe.new_doc(doctype.name) + doc.field = field + doc.insert() - self.assertEqual(doc.name, f"TODO-{date}-{series:02}") + series = getseries("", 2) + series = int(series) - 1 + + self.assertEqual(doc.name, f"TODO-{field}-{series:02}") def test_format_autoname_for_consecutive_week_number(self): """ From ef3777badb5cccfed06005c537221e5a0bb1eb60 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Tue, 21 Jun 2022 16:22:22 +0200 Subject: [PATCH 6/6] test: refactor date naming test --- frappe/tests/test_naming.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/frappe/tests/test_naming.py b/frappe/tests/test_naming.py index f4cc28daef..305df66209 100644 --- a/frappe/tests/test_naming.py +++ b/frappe/tests/test_naming.py @@ -101,17 +101,10 @@ class TestNaming(FrappeTestCase): self.assertEqual(doc.name, f"TODO-{now_datetime().strftime('%m')}-{description}-{series:02}") def test_format_autoname_for_datetime_field(self): - """ - Test if braced params are replaced in format autoname for datetime, date and time field - """ - - datetime = now_datetime() - date = nowdate() - time = nowtime() - - for field in [datetime, date, time]: - doctype = new_doctype(autoname="format:TODO-{field}-{##}").insert() + """Test if datetime, date and time objects get converted to strings for naming.""" + doctype = new_doctype(autoname="format:TODO-{field}-{##}").insert() + for field in [now_datetime(), nowdate(), nowtime()]: doc = frappe.new_doc(doctype.name) doc.field = field doc.insert()