← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 851748] Re: python exception on clearing product filter

 

Hi Jignesh,
I've this again and can't reproduce the error when following the steps above just after login, it's similar to my other bug report #856465 so happy to close this ticket until I can reproduce (at which point I'll take screenshots too).

Bug #856465 contains screenshots now :-)


** Changed in: openobject-client-web
       Status: Incomplete => Invalid

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to OpenERP Project Group.
https://bugs.launchpad.net/bugs/851748

Title:
  python exception on clearing product filter

Status in OpenERP Web Client:
  Invalid

Bug description:
  Config:
  Server: 6.0.3 stable with web client.
  No products/services defined as yet (we're using it as a CRM only at present)
  Client: Centos 5.7 with Firefox 3.6.22
  Logged in as admin.

  1. In Screen Warehouse/Product/Products
  2. Highlight then clear highlight on either the services or stockable filter buttons.
  3. The following error appears:

   
  <type 'exceptions.AttributeError'>	Python 2.7.1+: /usr/bin/python
  Fri Sep 16 11:14:21 2011

  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.7/dist-packages/CherryPy-3.1.2-py2.7.egg/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object>, path_info='/openerp/listgrid/get')
      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.7.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.7/dist-packages/CherryPy-3.1.2-py2.7.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', 'listgrid', 'get'), self.kwargs = {'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...}
   /usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), **kw={'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...})
      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.7/dist-packages/openerp_w...gg/addons/view_graph/widgets/templates/graph.mako', func = <function default>, args = (<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), kw = {'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...}
   /usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 'listgrid', 'get'), **kw={'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...})
       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.7/dist-packages/CherryPy-3.1.2-py2.7.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 get>, self.args = (), self.kwargs = {'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...}
   /usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...})
      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 List.get of <openerp.controllers.listgrid.List object>>, args = (), kw = {'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...}
   /usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.listgrid.List object>,), **kw={'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...})
      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.7/dist-packages/openerp_w...gg/addons/view_graph/widgets/templates/graph.mako', func = <function get>, args = (<openerp.controllers.listgrid.List object>,), kw = {'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...}
   /usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/addons/openerp/controllers/listgrid.py in get(self=<openerp.controllers.listgrid.List object>, **kw={'_terp_action_id': '121', '_terp_context': 'undefined', '_terp_count': '0', '_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '', ...})
      281             frm = res['form']
      282         else:
  =>  283             frm = form.Form().create_form(params)
      284 
      285         if params.view_type == 'graph':
  frm undefined, global form = <module 'openerp.controllers.form' from '/usr/lo...3-py2.7.egg/addons/openerp/controllers/form.pyc'>, form.Form = <class 'openerp.controllers.form.Form'>, ).create_form = <unbound method Form.create_form>, params = {'_terp_offset': 0, '_terp_filters_context': '',...p_string': 'Products', '_terp_filter_domain': []}
   /usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/addons/openerp/controllers/form.py in create_form(self=<openerp.controllers.form.Form object>, params={'_terp_offset': 0, '_terp_filters_context': '',...p_string': 'Products', '_terp_filter_domain': []}, tg_errors=None)
      184         params.view_type = params.view_type or params.view_mode[0]
      185 
  =>  186         return tw.form_view.ViewForm(params, name="view_form", action="/openerp/form/save")
      187 
      188     @expose(template="/openerp/controllers/templates/form.mako")
  global tw = <module 'openerp.widgets' from '/usr/local/lib/p...3-py2.7.egg/addons/openerp/widgets/__init__.pyc'>, tw.form_view = <module 'openerp.widgets.form_view' from '/usr/l...-py2.7.egg/addons/openerp/widgets/form_view.pyc'>, tw.form_view.ViewForm = <class 'openerp.widgets.form_view.ViewForm'>, params = {'_terp_offset': 0, '_terp_filters_context': '',...p_string': 'Products', '_terp_filter_domain': []}, name undefined, action undefined
   /usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/addons/openerp/widgets/form_view.py in __init__(self=ViewForm, params={'_terp_offset': 0, '_terp_filters_context': '',...p_string': 'Products', '_terp_filter_domain': []}, **kw={'action': '/openerp/form/save', 'name': 'view_form'})
       63             if element not in search_param or len(element) == 1:
       64                 if not isinstance(element,tuple):
  =>   65                     search_param.append(element)
       66                 else:
       67                     key, op, value = element
  search_param = 'undefined', search_param.append undefined, element = 'u'

  <type 'exceptions.AttributeError'>: 'str' object has no attribute 'append'
        args = ("'str' object has no attribute 'append'",)
        message = "'str' object has no attribute 'append'"

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-client-web/+bug/851748/+subscriptions


References