Files
tryton/category.py
T

41 lines
1.4 KiB
Python

#This file is part of Tryton. The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms.
from trytond.osv import fields, OSV
class Category(OSV):
"Product Category"
_name = "product.category"
_description = __doc__
name = fields.Char('Name', required=True, translate=True)
complete_name = fields.Function('get_complete_name', type="char",
string='Complete Name')
parent = fields.Many2One('product.category','Parent', select=1)
childs = fields.One2Many('product.category', 'parent',
string='Childs')
def __init__(self):
super(Category, self).__init__()
self._order.insert(0, ('name', 'ASC'))
def get_complete_name(self, cursor, user, ids, name, arg, context=None):
res = self.name_get(cursor, user, ids, context=context)
return dict(res)
def name_get(self, cursor, user, ids, context=None):
if not ids:
return []
if isinstance(ids, (int, long)):
ids = [ids]
categories = self.browse(cursor, user, ids, context=context)
res = []
for category in categories:
if category.parent:
name = category.parent.name+' / '+ category.name
else:
name = category.name
res.append((category.id, name))
return res
Category()