Add property value in default_get function as it is a default value

bzr revid: ced-749c0bf0b658df3acbae76aaef27627cda2a5ec4
This commit is contained in:
ced
2007-12-12 13:24:37 +00:00
parent 30bbdc2cf1
commit 3bf8ca4bc4
+18 -4
View File
@@ -880,25 +880,39 @@ class orm(object):
cr.rollback()
raise except_orm('ValidateError', ('\n'.join(field_err_str), ','.join(field_error)))
def default_get(self, cr, uid, fields, context=None):
def default_get(self, cr, uid, fields_list, context=None):
if not context:
context={}
value = {}
# get the default values for the inherited fields
for t in self._inherits.keys():
value.update(self.pool.get(t).default_get(cr, uid, fields, context))
value.update(self.pool.get(t).default_get(cr, uid, fields_list,
context))
# get the default values defined in the object
for f in fields:
for f in fields_list:
if f in self._defaults:
value[f] = self._defaults[f](self, cr, uid, context)
fld_def = ((f in self._columns) and self._columns[f]) \
or ((f in self._inherit_fields ) and self._inherit_fields[f][2]) \
or False
if isinstance(fld_def, fields.property):
property_obj = self.pool.get('ir.property')
definition_id = fld_def._field_get(cr, uid, self._name, f)
nid = property_obj.search(cr, uid, [('fields_id', '=',
definition_id), ('res_id', '=', False)])
if nid:
prop_value = property_obj.browse(cr, uid, nid[0],
context=context).value
value[f] = (prop_value and int(prop_value.split(',')[1])) \
or False
# get the default values set by the user and override the default
# values defined in the object
ir_values_obj = self.pool.get('ir.values')
res = ir_values_obj.get(cr, uid, 'default', False, [self._name])
for id, field, field_value in res:
if field in fields:
if field in fields_list:
fld_def = (field in self._columns) and self._columns[field] or self._inherit_fields[field][2]
if fld_def._type in ('many2one', 'one2one'):
obj = self.pool.get(fld_def._obj)