** Changed in: openobject-client-web
       Status: In Progress => Confirmed

-- 
You received this bug notification because you are a member of OpenERP
SA's Web Client R&D, which is a bug assignee.
https://bugs.launchpad.net/bugs/717185

Title:
  [trunk] Creating a new pricelist from a sale ordre crashes

Status in OpenERP Web Client:
  Confirmed

Bug description:
  6.0.1

  When creating a new sale order I create a new price list 
  When I want to create a new "product Listprice item" the web client crashes

  A problem occurred in a Python script. Here is the sequence of function calls 
leading up to the error, in the order they occurred.
   /home/tempo/openerp-web-6.0.1/lib/cherrypy/_cprequest.py in 
respond(self=<cherrypy._cprequest.Request object at 0xa2771ec>, 
path_info='/openerp/openo2m/edit')
    604                     if self.handler:
    605                         self.stage = 'handler'
    606                         cherrypy.response.body = self.handler()
    607                     
    608                     self.stage = 'before_finalize'
  global cherrypy = <module 'cherrypy' from 
'/home/tempo/openerp-web-6.0.1/lib/cherrypy/__init__.pyc'>, cherrypy.response = 
<cherrypy._ThreadLocalProxy object at 0xb751ae4c>, cherrypy.response.body = [], 
self = <cherrypy._cprequest.Request object at 0xa2771ec>, self.handler = 
<cherrypy._cpdispatch.LateParamPageHandler object at 0xa277bac>
   /home/tempo/openerp-web-6.0.1/lib/cherrypy/_cpdispatch.py in 
__call__(self=<cherrypy._cpdispatch.LateParamPageHandler object at 0xa27720c>)
     23     def __call__(self):
     24         try:
     25             return self.callable(*self.args, **self.kwargs)
     26         except TypeError, x:
     27             test_callable_spec(self.callable, self.args, self.kwargs)
  self = <cherrypy._cpdispatch.LateParamPageHandler object at 0xa27720c>, 
self.callable = <bound method Root.default of 
<openobject.controllers._root.Root object at 0x985e2cc>>, self.args = 
('openerp', 'openo2m', 'edit'), self.kwargs = {'_terp_editable': '1', 
'_terp_o2m': 'version_id/items_id', '_terp_o2m_model': 
'product.pricelist.item', '_terp_parent_id': '2', '_terp_parent_model': 
'product.pricelist.version', '_terp_parent_view_id': 'False', 
'_terp_view_params/_terp_context': "{'lang': u'en_US', 'tz': False, 
'search_view': 5...t': 'web', 'active_ids': [261], 'active_id': 261}", 
'_terp_view_params/_terp_id': '14', '_terp_view_params/_terp_ids': '[14, 1]', 
'_terp_view_params/_terp_model': 'sale.order', ...}
   /home/tempo/openerp-web-6.0.1/openobject/tools/_expose.py in 
func_wrapper(*args=(<openobject.controllers._root.Root object at 0x985e2cc>, 
'openerp', 'openo2m', 'edit'), **kw={'_terp_editable': '1', '_terp_o2m': 
'version_id/items_id', '_terp_o2m_model': 'product.pricelist.item', 
'_terp_parent_id': '2', '_terp_parent_model': 'product.pricelist.version', 
'_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': "{'lang': 
u'en_US', 'tz': False, 'search_view': 5...t': 'web', 'active_ids': [261], 
'active_id': 261}", '_terp_view_params/_terp_id': '14', 
'_terp_view_params/_terp_ids': '[14, 1]', '_terp_view_params/_terp_model': 
'sale.order', ...})
    180                 raise cherrypy.HTTPError(405)
    181 
    182             res = func(*args, **kw)
    183             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
    184                 cherrypy.response.headers['Content-Type'] = 
'text/javascript'
  global res = 
'/home/tempo/openerp-web-6.0.1/openobject/widgets/templates/jssource.mako', 
func = <function default at 0x9898dbc>, args = 
(<openobject.controllers._root.Root object at 0x985e2cc>, 'openerp', 'openo2m', 
'edit'), kw = {'_terp_editable': '1', '_terp_o2m': 'version_id/items_id', 
'_terp_o2m_model': 'product.pricelist.item', '_terp_parent_id': '2', 
'_terp_parent_model': 'product.pricelist.version', '_terp_parent_view_id': 
'False', '_terp_view_params/_terp_context': "{'lang': u'en_US', 'tz': False, 
'search_view': 5...t': 'web', 'active_ids': [261], 'active_id': 261}", 
'_terp_view_params/_terp_id': '14', '_terp_view_params/_terp_ids': '[14, 1]', 
'_terp_view_params/_terp_model': 'sale.order', ...}
   /home/tempo/openerp-web-6.0.1/openobject/controllers/_root.py in 
default(self=<openobject.controllers._root.Root object at 0x985e2cc>, 
*args=('openerp', 'openo2m', 'edit'), **kw={'_terp_editable': '1', '_terp_o2m': 
'version_id/items_id', '_terp_o2m_model': 'product.pricelist.item', 
'_terp_parent_id': '2', '_terp_parent_model': 'product.pricelist.version', 
'_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': "{'lang': 
u'en_US', 'tz': False, 'search_view': 5...t': 'web', 'active_ids': [261], 
'active_id': 261}", '_terp_view_params/_terp_id': '14', 
'_terp_view_params/_terp_ids': '[14, 1]', '_terp_view_params/_terp_model': 
'sale.order', ...})
     85             request.handler = cherrypy.NotFound()
     86 
     87         return request.handler()
     88 
     89     def find_handler(self):
  request = <cherrypy._ThreadLocalProxy object at 0xb751ae0c>, request.handler 
= <cherrypy._cpdispatch.LateParamPageHandler object at 0xa277bac>
   /home/tempo/openerp-web-6.0.1/lib/cherrypy/_cpdispatch.py in 
__call__(self=<cherrypy._cpdispatch.LateParamPageHandler object at 0xa277bac>)
     23     def __call__(self):
     24         try:
     25             return self.callable(*self.args, **self.kwargs)
     26         except TypeError, x:
     27             test_callable_spec(self.callable, self.args, self.kwargs)
  self = <cherrypy._cpdispatch.LateParamPageHandler object at 0xa277bac>, 
self.callable = <function edit at 0xa79925c>, self.args = (), self.kwargs = 
{'_terp_editable': '1', '_terp_o2m': 'version_id/items_id', '_terp_o2m_model': 
'product.pricelist.item', '_terp_parent_id': '2', '_terp_parent_model': 
'product.pricelist.version', '_terp_parent_view_id': 'False', 
'_terp_view_params/_terp_context': "{'lang': u'en_US', 'tz': False, 
'search_view': 5...t': 'web', 'active_ids': [261], 'active_id': 261}", 
'_terp_view_params/_terp_id': '14', '_terp_view_params/_terp_ids': '[14, 1]', 
'_terp_view_params/_terp_model': 'sale.order', ...}
   /home/tempo/openerp-web-6.0.1/addons/openerp/controllers/utils.py in 
wrapper(*args=(), **kw={'_terp_editable': '1', '_terp_o2m': 
'version_id/items_id', '_terp_o2m_model': 'product.pricelist.item', 
'_terp_parent_id': '2', '_terp_parent_model': 'product.pricelist.version', 
'_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': "{'lang': 
u'en_US', 'tz': False, 'search_view': 5...t': 'web', 'active_ids': [261], 
'active_id': 261}", '_terp_view_params/_terp_id': '14', 
'_terp_view_params/_terp_ids': '[14, 1]', '_terp_view_params/_terp_model': 
'sale.order', ...})
    110             # User is logged in; allow access
    111             clear_login_fields(kw)
    112             return fn(*args, **kw)
    113         else:
    114             action = kw.get('login_action', '')
  fn = <bound method OpenO2M.edit of <openerp.controllers.openo2m.OpenO2M 
object at 0xa277dcc>>, args = (), kw = {'_terp_editable': '1', '_terp_o2m': 
'version_id/items_id', '_terp_o2m_model': 'product.pricelist.item', 
'_terp_parent_id': '2', '_terp_parent_model': 'product.pricelist.version', 
'_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': "{'lang': 
u'en_US', 'tz': False, 'search_view': 5...t': 'web', 'active_ids': [261], 
'active_id': 261}", '_terp_view_params/_terp_id': '14', 
'_terp_view_params/_terp_ids': '[14, 1]', '_terp_view_params/_terp_model': 
'sale.order', ...}
   /home/tempo/openerp-web-6.0.1/openobject/tools/_expose.py in 
func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object at 
0xa277dcc>,), **kw={'_terp_editable': '1', '_terp_o2m': 'version_id/items_id', 
'_terp_o2m_model': 'product.pricelist.item', '_terp_parent_id': '2', 
'_terp_parent_model': 'product.pricelist.version', '_terp_parent_view_id': 
'False', '_terp_view_params/_terp_context': "{'lang': u'en_US', 'tz': False, 
'search_view': 5...t': 'web', 'active_ids': [261], 'active_id': 261}", 
'_terp_view_params/_terp_id': '14', '_terp_view_params/_terp_ids': '[14, 1]', 
'_terp_view_params/_terp_model': 'sale.order', ...})
    180                 raise cherrypy.HTTPError(405)
    181 
    182             res = func(*args, **kw)
    183             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
    184                 cherrypy.response.headers['Content-Type'] = 
'text/javascript'
  global res = 
'/home/tempo/openerp-web-6.0.1/openobject/widgets/templates/jssource.mako', 
func = <function edit at 0x9b58684>, args = 
(<openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>,), kw = 
{'_terp_editable': '1', '_terp_o2m': 'version_id/items_id', '_terp_o2m_model': 
'product.pricelist.item', '_terp_parent_id': '2', '_terp_parent_model': 
'product.pricelist.version', '_terp_parent_view_id': 'False', 
'_terp_view_params/_terp_context': "{'lang': u'en_US', 'tz': False, 
'search_view': 5...t': 'web', 'active_ids': [261], 'active_id': 261}", 
'_terp_view_params/_terp_id': '14', '_terp_view_params/_terp_ids': '[14, 1]', 
'_terp_view_params/_terp_model': 'sale.order', ...}
   /home/tempo/openerp-web-6.0.1/addons/openerp/controllers/openo2m.py in 
edit(self=<openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>, 
**kw={'_terp_editable': '1', '_terp_o2m': 'version_id/items_id', 
'_terp_o2m_model': 'product.pricelist.item', '_terp_parent_id': '2', 
'_terp_parent_model': 'product.pricelist.version', '_terp_parent_view_id': 
'False', '_terp_view_params/_terp_context': "{'lang': u'en_US', 'tz': False, 
'search_view': 5...t': 'web', 'active_ids': [261], 'active_id': 261}", 
'_terp_view_params/_terp_id': '14', '_terp_view_params/_terp_ids': '[14, 1]', 
'_terp_view_params/_terp_model': 'sale.order', ...})
    146     def edit(self, **kw):
    147         params, data = TinyDict.split(kw)
    148         return self.create(params)
    149     
    150     @expose('json', methods=('POST',))
  self = <openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>, self.create 
= <function create at 0xa2724fc>, params = {'_terp_view_type': 'form', 
'_terp_o2m': 'versio...: 'product.pricelist.item', '_terp_view_ids': []}
   /home/tempo/openerp-web-6.0.1/addons/openerp/controllers/utils.py in 
wrapper(*args=({'_terp_view_type': 'form', '_terp_o2m': 'versio...: 
'product.pricelist.item', '_terp_view_ids': []},), **kw={})
    110             # User is logged in; allow access
    111             clear_login_fields(kw)
    112             return fn(*args, **kw)
    113         else:
    114             action = kw.get('login_action', '')
  fn = <bound method OpenO2M.create of <openerp.controllers.openo2m.OpenO2M 
object at 0xa277dcc>>, args = ({'_terp_view_type': 'form', '_terp_o2m': 
'versio...: 'product.pricelist.item', '_terp_view_ids': []},), kw = {}
   /home/tempo/openerp-web-6.0.1/openobject/tools/_expose.py in 
func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>, 
{'_terp_view_type': 'form', '_terp_o2m': 'versio...: 'product.pricelist.item', 
'_terp_view_ids': []}), **kw={})
    180                 raise cherrypy.HTTPError(405)
    181 
    182             res = func(*args, **kw)
    183             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
    184                 cherrypy.response.headers['Content-Type'] = 
'text/javascript'
  global res = 
'/home/tempo/openerp-web-6.0.1/openobject/widgets/templates/jssource.mako', 
func = <function create at 0x9b584fc>, args = 
(<openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>, {'_terp_view_type': 
'form', '_terp_o2m': 'versio...: 'product.pricelist.item', '_terp_view_ids': 
[]}), kw = {}
   /home/tempo/openerp-web-6.0.1/addons/openerp/controllers/openo2m.py in 
create(self=<openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>, 
params={'_terp_view_type': 'form', '_terp_o2m': 'versio...: 
'product.pricelist.item', '_terp_view_ids': []}, tg_errors=None)
     87             form = cherrypy.request.terp_form
     88         else:
     89             form = self.create_form(params, tg_errors)
     90 
     91         return dict(form=form, params=params)
  form undefined, self = <openerp.controllers.openo2m.OpenO2M object at 
0xa277dcc>, self.create_form = <bound method OpenO2M.create_form of 
<openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>>, params = 
{'_terp_view_type': 'form', '_terp_o2m': 'versio...: 'product.pricelist.item', 
'_terp_view_ids': []}, tg_errors = None
   /home/tempo/openerp-web-6.0.1/addons/openerp/controllers/openo2m.py in 
create_form(self=<openerp.controllers.openo2m.OpenO2M object at 0xa277dcc>, 
params={'_terp_view_type': 'form', '_terp_o2m': 'versio...: 
'product.pricelist.item', '_terp_view_ids': []}, tg_errors=None)
     49         form = tw.form_view.ViewForm(vp, name="view_form", 
action="/openerp/openo2m/save")
     50         cherrypy.request.terp_validators = {}
     51         wid = form.screen.widget.get_widgets_by_name(params.o2m)[0]
     52 
     53         # save view_params for later phazes
  wid undefined, form = ViewForm, form.screen = Screen, form.screen.widget = 
Form, form.screen.widget.get_widgets_by_name = <bound method 
Form.get_widgets_by_name of Form>, params = {'_terp_view_type': 'form', 
'_terp_o2m': 'versio...: 'product.pricelist.item', '_terp_view_ids': []}, 
params.o2m = 'version_id/items_id'

  <type 'exceptions.IndexError'>: list index out of range
        args = ('list index out of range',)
        message = 'list index out of range'

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-web
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-web
More help   : https://help.launchpad.net/ListHelp

Reply via email to