From a1df4aadf52acc717e4f7e53abb5e9f7710e9558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 10 Sep 2008 01:06:47 +0200 Subject: [PATCH] Add number_references on request for issue339 --- trytond/res/request.py | 18 ++++++++++++++++++ trytond/res/request.xml | 8 ++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/trytond/res/request.py b/trytond/res/request.py index c1515101ba..dd4fb4e97b 100644 --- a/trytond/res/request.py +++ b/trytond/res/request.py @@ -42,6 +42,8 @@ class Request(OSV): 'References', states={ 'readonly': "state == 'closed' or act_from != _user", }) + number_references = fields.Function('get_number_references', type='integer', + string="Number of References", on_change_with=['references']) state = fields.Selection([ ('draft', 'Draft'), ('waiting', 'Waiting'), @@ -75,6 +77,22 @@ class Request(OSV): self._order.insert(1, ('trigger_date', 'ASC')) self._order.insert(2, ('create_date', 'DESC')) + def on_change_with_number_references(self, cursor, user, ids, vals, + context=None): + if vals.get('references'): + return len(vals['references']) + return 0 + + def get_number_references(self, cursor, user, ids, name, arg, + context=None): + res = {} + for request in self.browse(cursor, user, ids, context=context): + if request.references: + res[request.id] = len(request.references) + else: + res[request.id] = 0 + return res + def request_send(self, cursor, user, ids, context=None): request_history_obj = self.pool.get('res.request.history') for request in self.browse(cursor, user, ids, context=context): diff --git a/trytond/res/request.xml b/trytond/res/request.xml index 52af5065e9..83d9797e80 100644 --- a/trytond/res/request.xml +++ b/trytond/res/request.xml @@ -31,8 +31,12 @@