diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index 2e9d4fd64f5..a3b361d7575 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -211,7 +211,7 @@ class ir_model_grid(osv.osv): acc_obj.write(cr, uid, rules, vals2, context=context) return True - def fields_get(self, cr, uid, fields=None, context=None, read_access=True): + def fields_get(self, cr, uid, fields=None, context=None): result = super(ir_model_grid, self).fields_get(cr, uid, fields, context) groups = self.pool.get('res.groups').search(cr, uid, []) groups_br = self.pool.get('res.groups').browse(cr, uid, groups) diff --git a/bin/addons/base/res/res_config.py b/bin/addons/base/res/res_config.py index 0d7a41c5ebf..1dae2c7b88f 100644 --- a/bin/addons/base/res/res_config.py +++ b/bin/addons/base/res/res_config.py @@ -382,13 +382,13 @@ class res_config_installer(osv.osv_memory): self._already_installed(cr, uid, context=context)), True)) - def fields_get(self, cr, uid, fields=None, context=None, read_access=True): + def fields_get(self, cr, uid, fields=None, context=None, write_access=True): """ If an addon is already installed, set it to readonly as res.config.installer doesn't handle uninstallations of already installed addons """ fields = super(res_config_installer, self).fields_get( - cr, uid, fields, context, read_access) + cr, uid, fields, context, write_access) for module in self._already_installed(cr, uid, context=context): if module.name not in fields: diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 4fdd70f20da..947bda82d25 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -1070,22 +1070,19 @@ class orm_template(object): def create(self, cr, user, vals, context=None): raise NotImplementedError(_('The create method is not implemented on this object !')) - # returns the definition of each field in the object - # the optional fields parameter can limit the result to some fields - def fields_get_keys(self, cr, user, context=None, read_access=True): - if context is None: - context = {} + def fields_get_keys(self, cr, user, context=None): res = self._columns.keys() for parent in self._inherits: - res.extend(self.pool.get(parent).fields_get_keys(cr, user, fields, context)) + res.extend(self.pool.get(parent).fields_get_keys(cr, user, context)) return res - def fields_get(self, cr, user, allfields=None, context=None, read_access=True): + # returns the definition of each field in the object + # the optional fields parameter can limit the result to some fields + def fields_get(self, cr, user, allfields=None, context=None, write_access=True): if context is None: context = {} res = {} translation_obj = self.pool.get('ir.translation') - model_access_obj = self.pool.get('ir.model.access') for parent in self._inherits: res.update(self.pool.get(parent).fields_get(cr, user, allfields, context)) @@ -1114,7 +1111,7 @@ class orm_template(object): 'change_default', 'translate', 'help', 'select', 'selectable'): if getattr(self._columns[f], arg): res[f][arg] = getattr(self._columns[f], arg) - if not read_access: + if not write_access: res[f]['readonly'] = True res[f]['states'] = {} for arg in ('digits', 'invisible','filters'): @@ -2775,9 +2772,9 @@ class orm(orm_template): """ ira = self.pool.get('ir.model.access') - read_access = ira.check(cr, user, self._name, 'write', raise_exception=False, context=context) or \ - ira.check(cr, user, self._name, 'create', raise_exception=False, context=context) - return super(orm, self).fields_get(cr, user, fields, context, read_access) + write_access = ira.check(cr, user, self._name, 'write', raise_exception=False, context=context) or \ + ira.check(cr, user, self._name, 'create', raise_exception=False, context=context) + return super(orm, self).fields_get(cr, user, fields, context, write_access) def read(self, cr, user, ids, fields=None, context=None, load='_classic_read'): """