From 288577efd8e4ed2af3da92702297a0c198bb24dc Mon Sep 17 00:00:00 2001 From: "ced@b2ck.com" Date: Thu, 27 Dec 2007 21:12:38 +0100 Subject: [PATCH] Add update domain on view field by the domain of the action --- tryton/gui/window/view_form/model/record.py | 7 +++++-- tryton/gui/window/view_form/screen/screen.py | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py index 1c7723b3a3..aa0c9ee3b0 100644 --- a/tryton/gui/window/view_form/model/record.py +++ b/tryton/gui/window/view_form/model/record.py @@ -110,8 +110,11 @@ class ModelRecord(SignalEvent): if len(self.mgroup.fields): val = self.rpc.default_get(self.mgroup.fields.keys(), context) for clause in domain: - if clause[0] in self.mgroup.fields and clause[1] == '=': - val[clause[0]] = clause[2] + if clause[0] in self.mgroup.fields: + if clause[1] == '=': + val[clause[0]] = clause[2] + if clause[1] == 'in' and len(d[2]) == 1: + val[clause[0]] = clause[2][0] self.set_default(val) def name_get(self): diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py index 4828eeea1d..d257901087 100644 --- a/tryton/gui/window/view_form/screen/screen.py +++ b/tryton/gui/window/view_form/screen/screen.py @@ -239,6 +239,11 @@ class Screen(SignalEvent): _parse_fields(node2, fields) dom = xml.dom.minidom.parseString(arch) _parse_fields(dom, fields) + for dom in self.domain: + if dom[0] in fields: + field_dom = str(fields[dom[0]].setdefault('domain',[])) + fields[dom[0]]['domain'] = field_dom[:1] + \ + str(('id', dom[1], dom[2])) + ',' + field_dom[1:] from tryton.gui.window.view_form.view.widget_parse import WidgetParse models = self.models.models