← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 839155] Re: Search Buttons V.6.03

 

A quite similar error showed here too. When select for example "Group
by" in Administration->Modules I can see:

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

The backtrace looks like this in this case:

--------
<type 'exceptions.AttributeError'>	Python 2.7: /usr/bin/python
Thu Sep 8 09:10:19 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/lib/python2.7/site-packages/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object>, path_info='/openerp/listgrid/get')
    643                     if self.handler:
    644                         self.stage = 'handler'
=>  645                         response.body = self.handler()
    646                     
    647                     # Finalize
response = <cherrypy._cprequest.Response object>, response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
 /usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py in __call__(self=<cherrypy.lib.encoding.ResponseEncoder instance>, *args=(), **kwargs={})
    186     def __call__(self, *args, **kwargs):
    187         response = cherrypy.serving.response
=>  188         self.body = self.oldhandler(*args, **kwargs)
    189         
    190         if isinstance(self.body, basestring):
self = <cherrypy.lib.encoding.ResponseEncoder instance>, self.body undefined, self.oldhandler = <cherrypy._cpdispatch.LateParamPageHandler object>, args = (), kwargs = {}
 /usr/lib/python2.7/site-packages/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
     27     def __call__(self):
     28         try:
=>   29             return self.callable(*self.args, **self.kwargs)
     30         except TypeError:
     31             x = sys.exc_info()[1]
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': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...}
 /usr/lib/python2.7/site-packages/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), **kw={'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...})
    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/lib/python2.7/site-packages/openerp-server/...port_webkit_sample/report/report_webkit_html.mako', func = <function default>, args = (<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), kw = {'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...}
 /usr/lib/python2.7/site-packages/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 'listgrid', 'get'), **kw={'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...})
     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/lib/python2.7/site-packages/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
     27     def __call__(self):
     28         try:
=>   29             return self.callable(*self.args, **self.kwargs)
     30         except TypeError:
     31             x = sys.exc_info()[1]
self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = <function get>, self.args = (), self.kwargs = {'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...}
 /usr/lib/python2.7/site-packages/openobject/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...})
    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': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...}
 /usr/lib/python2.7/site-packages/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.listgrid.List object>,), **kw={'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...})
    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/lib/python2.7/site-packages/openerp-server/...port_webkit_sample/report/report_webkit_html.mako', func = <function get>, args = (<openerp.controllers.listgrid.List object>,), kw = {'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...}
 /usr/lib/python2.7/site-packages/openobject/addons/openerp/controllers/listgrid.py in get(self=<openerp.controllers.listgrid.List object>, **kw={'_terp_action_id': u'40', '_terp_concurrency_info': u"('ir.module.module,79', '2011-09-08 08:46:35.47605')", '_terp_context': u'undefined', '_terp_count': u'660', '_terp_domain': u'[]', '_terp_editable': u'True', '_terp_filter_domain': u'[]', '_terp_filters_context': u'', '_terp_group_by_ctx': u'[]', '_terp_id': u'False', ...})
    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/li.../openobject/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': u''...ring': u'Modu\u0142y', '_terp_filter_domain': []}
 /usr/lib/python2.7/site-packages/openobject/addons/openerp/controllers/form.py in create_form(self=<openerp.controllers.form.Form object>, params={'_terp_offset': 0, '_terp_filters_context': u''...ring': u'Modu\u0142y', '_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/lib/python2.../openobject/addons/openerp/widgets/__init__.pyc'>, tw.form_view = <module 'openerp.widgets.form_view' from '/usr/l...openobject/addons/openerp/widgets/form_view.pyc'>, tw.form_view.ViewForm = <class 'openerp.widgets.form_view.ViewForm'>, params = {'_terp_offset': 0, '_terp_filters_context': u''...ring': u'Modu\u0142y', '_terp_filter_domain': []}, name undefined, action undefined
 /usr/lib/python2.7/site-packages/openobject/addons/openerp/widgets/form_view.py in __init__(self=ViewForm, params={'_terp_offset': 0, '_terp_filters_context': u''...ring': u'Modu\u0142y', '_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 = u'undefined', search_param.append undefined, element = u'u'
--------

Installation on OpenSuSe 11.4 (x64) and OpenERP server/web 6.0.3

-- 
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/839155

Title:
  Search Buttons V.6.03

Status in OpenERP Server:
  New

Bug description:
  Hi,

  If there are not a search button selected, the system send a python trace window. 
  That is happend in a lot of modules in web-client. We are using/testing in different linux servers and diff openerp configurations.
  Is restored when  the page is reload (the browser option).

  The last part of message is :

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

  Regards 
  Luis

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


References