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 OpenERP
CTP, which is subscribed to OpenERP Server.
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

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

Reply via email to