fix: fallback to item_name if description is not found (backport #30619) (#30622)

* fix: strip html tags before checking for empty description (#30619)

(cherry picked from commit e4c6d6a1a6)

# Conflicts:
#	erpnext/stock/doctype/item/test_item.py

* fix: resolve conflicts

Co-authored-by: Ankush Menat <ankush@frappe.io>
This commit is contained in:
mergify[bot]
2022-04-07 13:20:36 +05:30
committed by GitHub
parent d720d15e3d
commit af039be03e
2 changed files with 9 additions and 5 deletions

View File

@@ -18,6 +18,7 @@ from frappe.utils import (
now_datetime,
nowtime,
strip,
strip_html,
)
from frappe.utils.html_utils import clean_html
@@ -69,10 +70,6 @@ class Item(Document):
self.item_code = strip(self.item_code)
self.name = self.item_code
def before_insert(self):
if not self.description:
self.description = self.item_name
def after_insert(self):
"""set opening stock and item price"""
if self.standard_rate:
@@ -86,7 +83,7 @@ class Item(Document):
if not self.item_name:
self.item_name = self.item_code
if not self.description:
if not strip_html(cstr(self.description)).strip():
self.description = self.item_name
self.validate_uom()

View File

@@ -683,6 +683,13 @@ class TestItem(FrappeTestCase):
self.assertEqual(item.sample_quantity, None)
item.delete()
def test_empty_description(self):
item = make_item(properties={"description": "<p></p>"})
self.assertEqual(item.description, item.item_name)
item.description = ""
item.save()
self.assertEqual(item.description, item.item_name)
def set_item_variant_settings(fields):
doc = frappe.get_doc("Item Variant Settings")