~openerp-dev/openobject-server/trunk-bug-1109002-Jay

Viewing all changes in revision 4826.

  • Committer: Xavier Morel
  • Date: 2013-03-15 11:53:02 UTC
  • Revision ID: xmo@openerp.com-20130315115302-z7jla334gb9a5e43
[FIX] __getattr__ implementation on BaseModel

object has no __getattr__, in the usual case super(BaseModel,
self).__getattr__ will blow up with an AttributeError (but the wrong
one).

On the other hand, if a BaseModel descendant class is used in MI
alongside a non-BM descendant (e.g. res_partner inheriting from Model
and format_address) and the non-BM descendant also implements
__getattr__, we want to forward the failed attr search to the other
__getattr__ implementation.

So check if super() has a __getattr__, call it if it does otherwise
AttributeError right there.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: