[IMP] stock_package_type_category: Add category to package type display name

This commit is contained in:
Denis Roussel
2024-07-05 14:56:18 +02:00
parent 20532b2362
commit 1d019731a5
2 changed files with 46 additions and 2 deletions

View File

@@ -1,7 +1,6 @@
# Copyright 2024 ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models
from odoo import api, fields, models
class StockPackageType(models.Model):
@@ -14,3 +13,28 @@ class StockPackageType(models.Model):
help="This is the category this package type belongs to",
index="btree_not_null",
)
@api.depends("category_id", "category_id.code")
def _compute_display_name(self):
res = super()._compute_display_name()
for package_type in self:
if package_type.category_id:
package_type.display_name = " ".join(
[
package_type.display_name,
str("(" + package_type.category_id.code + ")"),
]
)
return res
@property
def _rec_names_search(self):
"""
Adds the category code and name in name search
"""
rec_names_search = super()._rec_names_search
if not rec_names_search:
return ["name", "category_id.name", "category_id.code"]
else:
rec_names_search.extend(["category_id.name", "category_id.code"])
return rec_names_search

View File

@@ -22,3 +22,23 @@ class TestPackageCategory(BaseCommon):
"code": "DESK",
}
)
def test_category_search(self):
self.categ = self.category_obj.create(
{
"name": "Test Category",
"code": "TEST",
}
)
package_type = self.env["stock.package.type"].create(
{
"name": "Little Box",
"category_id": self.categ.id,
}
)
self.assertEqual("Little Box (TEST)", package_type.display_name)
package_search = self.env["stock.package.type"].name_search("TEST")
self.assertEqual([(package_type.id, package_type.name)], package_search)