← Back to team overview

openerp-india team mailing list archive

[Bug 949800] Re: res.partner base.view_partner_form throughs a python error when clicking on a contact

 

Hello,

there is not much I can add. In my case this behaviour is reproducable.
Just tried it with a new database with Demo data.
I install the module  "base_contact"
In "Sales / Address Book / Customer" - form view. In this view one can see the details of the partner and (in the lower part) associated Contacts. When clicking on such a contact I get the error message posted in my first message.
What additional information would you need?

Thanks

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Addons.
https://bugs.launchpad.net/bugs/949800

Title:
  res.partner     base.view_partner_form  throughs a python error when
  clicking on a contact

Status in OpenERP Addons (modules):
  Incomplete

Bug description:
  Hi,

  when clicking on a contact inside the "base.view_partner_form" (eg. in Sales / Customers) a window opens with a huge error message:
            Python 2.6.5: /usr/bin/python
            <type 'exceptions.IndexError'>
            .........

  System used:
  OpenERP 6.0.3
  WebClient
  Server on Ubuntu 10.04.4 LTS

  Following the complete error listing:

  A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
   /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object>, 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 '/usr/local/lib/python2..../CherryPy-3.1.2-py2.6.egg/cherrypy/__init__.pyc'>, cherrypy.response = <cherrypy._ThreadLocalProxy object>, cherrypy.response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
   /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
     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>, self.callable = <bound method Root.default of <openobject.controllers._root.Root object>>, self.args = ('openerp', 'openo2m', 'edit'), self.kwargs = {'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'openo2m', 'edit'), **kw={'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...})
    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 = '/usr/local/lib/python2.6/dist-packages/openerp_w....6.egg/openobject/controllers/templates/base.mako', func = <function default>, args = (<openobject.controllers._root.Root object>, 'openerp', 'openo2m', 'edit'), kw = {'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 'openo2m', 'edit'), **kw={'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...})
     88             request.handler = cherrypy.NotFound()
     89 
     90         return request.handler()
     91 
     92     def find_handler(self):
  request = <cherrypy._ThreadLocalProxy object>, request.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
   /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
     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>, self.callable = <function edit>, self.args = (), self.kwargs = {'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...})
    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>>, args = (), kw = {'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object>,), **kw={'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...})
    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 = '/usr/local/lib/python2.6/dist-packages/openerp_w....6.egg/openobject/controllers/templates/base.mako', func = <function edit>, args = (<openerp.controllers.openo2m.OpenO2M object>,), kw = {'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/openo2m.py in edit(self=<openerp.controllers.openo2m.OpenO2M object>, **kw={'_terp_editable': '0', '_terp_o2m': 'address/job_ids', '_terp_o2m_id': '2', '_terp_o2m_model': 'res.partner.job', '_terp_parent_id': '2', '_terp_parent_model': 'res.partner.address', '_terp_parent_view_id': 'False', '_terp_view_params/_terp_context': '{}', '_terp_view_params/_terp_id': '2', '_terp_view_params/_terp_model': 'res.partner.address', ...})
    150     def edit(self, **kw):
    151         params, data = TinyDict.split(kw)
    152         return self.create(params)
    153     
    154     @expose('json', methods=('POST',))
  self = <openerp.controllers.openo2m.OpenO2M object>, self.create = <function create>, params = {'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_terp_view_ids': []}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/utils.py in wrapper(*args=({'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_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>>, args = ({'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_terp_view_ids': []},), kw = {}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object>, {'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_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 = '/usr/local/lib/python2.6/dist-packages/openerp_w....6.egg/openobject/controllers/templates/base.mako', func = <function create>, args = (<openerp.controllers.openo2m.OpenO2M object>, {'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_terp_view_ids': []}), kw = {}
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/openo2m.py in create(self=<openerp.controllers.openo2m.OpenO2M object>, params={'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_terp_view_ids': []}, tg_errors=None)
     91             form = cherrypy.request.terp_form
     92         else:
     93             form = self.create_form(params, tg_errors)
     94 
     95         return dict(form=form, params=params)
  form undefined, self = <openerp.controllers.openo2m.OpenO2M object>, self.create_form = <bound method OpenO2M.create_form of <openerp.controllers.openo2m.OpenO2M object>>, params = {'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_terp_view_ids': []}, tg_errors = None
   /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/openo2m.py in create_form(self=<openerp.controllers.openo2m.OpenO2M object>, params={'_terp_view_type': 'form', '_terp_o2m': 'job_id..._model': 'res.partner.job', '_terp_view_ids': []}, tg_errors=None)
     53             params.o2m = '.'.join(params.o2m.split('/')[-1:])
     54 
     55         wid = form.screen.widget.get_widgets_by_name(params.o2m)[0]
     56 
     57         # 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': 'job_id..._model': 'res.partner.job', '_terp_view_ids': []}, params.o2m = 'job_ids'

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/949800/+subscriptions


References