c2c-oerpscenario team mailing list archive
-
c2c-oerpscenario team
-
Mailing list archive
-
Message #19945
[Bug 740202] Re: passing int to write method of stock.move gives "Field '0' does not exist in object 'browse_record(stock.move, ..."
So, the statement at
http://doc.openerp.com/v6.0/developer/2_5_Objects_Fields_Methods/methods.html#osv.osv.osv.write
"Param ids: object id or list of object ids to update" has to be
considered wrong?
So, any other module can't write a stock.move passing its id?
See for instance mrp_prodlot_autosplit: http://bazaar.launchpad.net
/~openerp-commiter/openobject-
addons/extra-6.0/view/5310/mrp_prodlot_autosplit/stock.py#L109 that is
behaving right according to ORM specifications
** Changed in: openobject-addons
Status: Invalid => New
--
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/740202
Title:
passing int to write method of stock.move gives "Field '0' does not
exist in object 'browse_record(stock.move,..."
Status in OpenERP Modules (addons):
New
Bug description:
- Call the write method of stock.move passing ids as INT (instead of LIST) with user != admin
- Get
File "server/bin/addons/stock/stock.py", line 1616, in write
for move in self.browse(cr, uid, ids, context=context):
File "server/bin/osv/orm.py", line 189, in __getitem__
name, self))
KeyError: "Field '0' does not exist in object 'browse_record(stock.move, 422)'"
Suggested FIX:
After line 1614 ( http://bazaar.launchpad.net/~openerp/openobject-addons/trunk/view/4567/stock/stock.py#L1611 ) add
if isinstance(ids, (int, long)):
ids = [ids]
References