From f73fc3ea8511342e685a212ed2628786bb77d9ff Mon Sep 17 00:00:00 2001 From: Albert Cunillera Benet Date: Wed, 4 Mar 2020 18:53:32 +0100 Subject: [PATCH] Add reference to production record name issue8891 review278491004 --- CHANGELOG | 1 + production.py | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 5acaae8bff..eaf5cc0dcf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Add reference to production record name * Add cron task to update production cost * Allocate cost based on list price of each product diff --git a/production.py b/production.py index e9cbb5ea96..4c79ecc09f 100644 --- a/production.py +++ b/production.py @@ -19,7 +19,6 @@ BOM_CHANGES = ['bom', 'product', 'quantity', 'uom', 'warehouse', 'location', class Production(Workflow, ModelSQL, ModelView): "Production" __name__ = 'production' - _rec_name = 'number' number = fields.Char('Number', select=True, readonly=True) reference = fields.Char('Reference', select=1, @@ -213,6 +212,27 @@ class Production(Workflow, ModelSQL, ModelView): 'assign_force': {}, }) + def get_rec_name(self, name): + items = [] + if self.number: + items.append(self.number) + if self.reference: + items.append('[%s]' % self.reference) + if not items: + items.append('(%s)' % self.id) + return ' '.join(items) + + @classmethod + def search_rec_name(cls, name, clause): + if clause[1].startswith('!') or clause[1].startswith('not '): + bool_op = 'AND' + else: + bool_op = 'OR' + return [bool_op, + ('number',) + tuple(clause[1:]), + ('reference',) + tuple(clause[1:]), + ] + @classmethod def __register__(cls, module_name): table_h = cls.__table_handler__(module_name)