changeset 2e11580c73e4 in modules/production:default
details: 
https://hg.tryton.org/modules/production?cmd=changeset;node=2e11580c73e4
description:
        Add reference to production record name

        issue8891
        review278491004
diffstat:

 CHANGELOG     |   1 +
 production.py |  22 +++++++++++++++++++++-
 2 files changed, 22 insertions(+), 1 deletions(-)

diffs (47 lines):

diff -r 2d26869c3fff -r 2e11580c73e4 CHANGELOG
--- a/CHANGELOG Sun Mar 01 16:12:39 2020 +0100
+++ b/CHANGELOG Wed Mar 04 18:53:32 2020 +0100
@@ -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 -r 2d26869c3fff -r 2e11580c73e4 production.py
--- a/production.py     Sun Mar 01 16:12:39 2020 +0100
+++ b/production.py     Wed Mar 04 18:53:32 2020 +0100
@@ -19,7 +19,6 @@
 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 @@
                 '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)

Reply via email to