From 60abf270a13968b92e02d9c619a453d14e6692a8 Mon Sep 17 00:00:00 2001 From: Bertrand Chenal Date: Thu, 17 Jan 2008 23:33:36 +0100 Subject: [PATCH 1/3] Removed trailing space --- trytond/res/user.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trytond/res/user.py b/trytond/res/user.py index 100778cf74..d19e58c6f4 100644 --- a/trytond/res/user.py +++ b/trytond/res/user.py @@ -69,7 +69,7 @@ class User(OSV): 'action_id': fields.Many2One('ir.action', 'Home Action'), 'menu_id': fields.Many2One('ir.action', 'Menu Action'), 'groups_id': fields.Many2Many('res.group', 'res_group_user_rel', - 'uid', 'gid', 'Groups'), + 'uid', 'gid', 'Groups'), 'roles_id': fields.Many2Many('res.role', 'res_role_user_rel', 'uid', 'rid', 'Roles'), #'company_id': fields.Many2One('res.company', 'Company'), From 443879c43ce11197eb34e5cd8751f9492e679f36 Mon Sep 17 00:00:00 2001 From: Bertrand Chenal Date: Fri, 18 Jan 2008 00:14:52 +0100 Subject: [PATCH 2/3] Handle correctly access to inherited fields --- trytond/ir/model.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/trytond/ir/model.py b/trytond/ir/model.py index dc52324135..bf1d76c74e 100644 --- a/trytond/ir/model.py +++ b/trytond/ir/model.py @@ -239,10 +239,16 @@ class ModelData(OSV): to_update = {} for key in values: - # first handle correctly the datas returned by read() - if object_ref._columns[key]._type == 'many2one': + # search the field type in the object or in a parent + if key in object_ref._columns: + field_type = object_ref._columns[key]._type + else: + field_type = object_ref._inherit_fields[key][2]._type + + # handle the value regarding to the type + if field_type == 'many2one': db_field = db_values[key] and db_values[key][0] or False - elif object_ref._columns[key]._type in ['one2one', 'one2many', "many2many"]: + elif field_type in ['one2one', 'one2many', "many2many"]: logger = Logger() logger.notify_channel('init', LOG_WARNING, 'Field %s on %s : integrity not tested.'%(key, model)) From ddc22530d2404f7170d1a0014b7c6e0bbe23f199 Mon Sep 17 00:00:00 2001 From: Bertrand Chenal Date: Fri, 18 Jan 2008 01:41:45 +0100 Subject: [PATCH 3/3] Use a browse instead of a read to acces data. --- trytond/ir/model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/trytond/ir/model.py b/trytond/ir/model.py index bf1d76c74e..3b2b7dce13 100644 --- a/trytond/ir/model.py +++ b/trytond/ir/model.py @@ -234,7 +234,7 @@ class ModelData(OSV): "data with the wrong model.") object_ref = self.pool.get(model) # XXX maybe use a browse instead: - db_values = object_ref.read(cursor, user, db_id, values.keys()) + db_values = object_ref.browse(cursor, user, db_id) to_update = {} for key in values: @@ -247,7 +247,7 @@ class ModelData(OSV): # handle the value regarding to the type if field_type == 'many2one': - db_field = db_values[key] and db_values[key][0] or False + db_field = db_values[key] and db_values[key].id or False elif field_type in ['one2one', 'one2many', "many2many"]: logger = Logger() logger.notify_channel('init', LOG_WARNING,