← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-server/6.0-opw-4364-jvo into lp:openobject-server/6.0

 

Jay Vora (OpenERP) has proposed merging lp:~openerp-dev/openobject-server/6.0-opw-4364-jvo into lp:openobject-server/6.0.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/6.0-opw-4364-jvo/+merge/52076

Steps to Reproduce:
(Over Web client)
1. Open Any undone packing.
2. Click on Process now/validate.
3. You will see a window with the relevant moves on the window by default inside O2M. Remove them, click on validate. (Another problem here is that the o2m window doesn't get closed)
4. Click on process again.

And the error appears:
Traceback (most recent call last):
  File "/home/odoo/openerp/server/bin/netsvc.py", line 490, in dispatch
    result = ExportService.getService(service_name).dispatch(method, auth, params)
  File "/home/odoo/openerp/server/bin/addons/use_control/services.py", line 41, in dispatch
    return super(recording_objects_proxy, self).dispatch(func, auth, params)
  File "/home/odoo/openerp/server/bin/service/web_services.py", line 599, in dispatch
    res = fn(db, uid, *params)
  File "/home/odoo/openerp/server/bin/addons/audittrail/audittrail.py", line 511, in execute
    res = my_fct(db, uid, model, method, *args)
  File "/home/odoo/openerp/server/bin/addons/audittrail/audittrail.py", line 489, in my_fct
    return fct_src(db, uid, model, method, *args)
  File "/home/odoo/openerp/server/bin/osv/osv.py", line 122, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/home/odoo/openerp/server/bin/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/home/odoo/openerp/server/bin/osv/osv.py", line 167, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/home/odoo/openerp/server/bin/addons/stock/stock.py", line 664, in action_process
    cr, uid, {}, context=dict(context, active_ids=ids))
  File "/home/odoo/openerp/server/bin/osv/orm.py", line 1994, in create
    vals = self._add_missing_default_values(cr, user, vals, context)
  File "/home/odoo/openerp/server/bin/osv/orm.py", line 1884, in _add_missing_default_values
    and isinstance(defaults[dv], (list, tuple)) and isinstance(defaults[dv][0], dict):
IndexError: list index out of range

Thannks.

Refer to : http://bazaar.launchpad.net/~openerp/openobject-server/6.0/revision/3325
http://bazaar.launchpad.net/~openerp/openobject-server/6.0/revision/2906.1.1

(Thanks to Olivier Dony)
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/6.0-opw-4364-jvo/+merge/52076
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/6.0-opw-4364-jvo.
=== modified file 'bin/osv/orm.py'
--- bin/osv/orm.py	2011-02-16 14:21:28 +0000
+++ bin/osv/orm.py	2011-03-03 14:38:12 +0000
@@ -1881,7 +1881,7 @@
                     defaults[dv] = [(6, 0, defaults[dv])]
                 if (dv in self._columns and self._columns[dv]._type == 'one2many' \
                     or (dv in self._inherit_fields and self._inherit_fields[dv][2]._type == 'one2many')) \
-                        and isinstance(defaults[dv], (list, tuple)) and isinstance(defaults[dv][0], dict):
+                        and isinstance(defaults[dv], (list, tuple)) and defaults[dv] and isinstance(defaults[dv][0], dict):
                     defaults[dv] = [(0, 0, x) for x in defaults[dv]]
             defaults.update(values)
             values = defaults


Follow ups