← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 709792] [NEW] POS web client error

 

Public bug reported:

Yes, I know it's strange to use web client for POS, but it's happen.
Whwn I try to add product in pos order in web client, i get this error:
 
 
<type 'exceptions.TypeError'>	Python 2.6.6: /usr/bin/python
Sat Jan 29 18:01:40 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.
 /home/mitica/60STABLE_MCM (copy)/openerp/web/lib/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 '/home/mitica/60STABLE_MCM (copy)/openerp/web/lib/cherrypy/__init__.pyc'>, cherrypy.response = <cherrypy._ThreadLocalProxy object>, cherrypy.response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
 /home/mitica/60STABLE_MCM (copy)/openerp/web/lib/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_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
 /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
  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/mitica/60STABLE_MCM (copy)/openerp/web/doc/openerp-web.cfg', func = <function default>, args = (<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), kw = {'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
 /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 'listgrid', 'get'), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
   85             request.handler = cherrypy.NotFound()
   86 
   87         return request.handler()
   88 
   89     def find_handler(self):
request = <cherrypy._ThreadLocalProxy object>, request.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
 /home/mitica/60STABLE_MCM (copy)/openerp/web/lib/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_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
 /home/mitica/60STABLE_MCM (copy)/openerp/web/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
  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_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
 /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.listgrid.List object>,), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
  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/mitica/60STABLE_MCM (copy)/openerp/web/doc/openerp-web.cfg', func = <function get>, args = (<openerp.controllers.listgrid.List object>,), kw = {'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
 /home/mitica/60STABLE_MCM (copy)/openerp/web/addons/openerp/controllers/listgrid.py in get(self=<openerp.controllers.listgrid.List object>, **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
  294             view=ustr(frm.render())
  295         else:
  296             view=ustr(wid.render())
  297 
  298         server_logs = ''
view undefined, builtin ustr = <function ustr>, wid = List, wid.render = <bound method List.render of List>
 /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/widgets/_base.py in render(self=List, value=None, **params={})
  213 
  214     def render(self, value=None, **params):
  215         return self.display(value, **params)
  216 
  217     def retrieve_css(self):
self = List, self.display = <bound method List.display of List>, value = None, params = {}
 /home/mitica/60STABLE_MCM (copy)/openerp/web/addons/openerp/widgets/listgrid.py in display(self=List, value=None, **params={})
  312                 new_values = response["value"]
  313                 for k, v in new_values.items():
  314                     if v not in values or values[k] != v:
  315                         values[k] = v
  316 
v = [], values = {u'discount': 0.0, u'price_ded': 0.0, 'price_subtotal': 0.0, 'price_subtotal_incl': 0.0, 'price_unit': 0.0, u'qty': 1}, k = 'data'

<type 'exceptions.TypeError'>: unhashable type: 'list'
      args = ("unhashable type: 'list'",)
      message = "unhashable type: 'list'" 
In GTK work fine.
Thanks.

** Affects: openobject-addons
     Importance: Undecided
         Status: New

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

Title:
  POS web client error

Status in OpenERP Modules (addons):
  New

Bug description:
  Yes, I know it's strange to use web client for POS, but it's happen.
  Whwn I try to add product in pos order in web client, i get this error:
   
   
  <type 'exceptions.TypeError'>	Python 2.6.6: /usr/bin/python
  Sat Jan 29 18:01:40 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.
   /home/mitica/60STABLE_MCM (copy)/openerp/web/lib/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 '/home/mitica/60STABLE_MCM (copy)/openerp/web/lib/cherrypy/__init__.pyc'>, cherrypy.response = <cherrypy._ThreadLocalProxy object>, cherrypy.response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
   /home/mitica/60STABLE_MCM (copy)/openerp/web/lib/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_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
   /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
    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/mitica/60STABLE_MCM (copy)/openerp/web/doc/openerp-web.cfg', func = <function default>, args = (<openobject.controllers._root.Root object>, 'openerp', 'listgrid', 'get'), kw = {'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
   /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 'listgrid', 'get'), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
     85             request.handler = cherrypy.NotFound()
     86 
     87         return request.handler()
     88 
     89     def find_handler(self):
  request = <cherrypy._ThreadLocalProxy object>, request.handler = <cherrypy._cpdispatch.LateParamPageHandler object>
   /home/mitica/60STABLE_MCM (copy)/openerp/web/lib/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_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
   /home/mitica/60STABLE_MCM (copy)/openerp/web/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
    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_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
   /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.listgrid.List object>,), **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
    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/mitica/60STABLE_MCM (copy)/openerp/web/doc/openerp-web.cfg', func = <function get>, args = (<openerp.controllers.listgrid.List object>,), kw = {'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...}
   /home/mitica/60STABLE_MCM (copy)/openerp/web/addons/openerp/controllers/listgrid.py in get(self=<openerp.controllers.listgrid.List object>, **kw={'_terp_concurrency_info': 'null', '_terp_context': "{'lang': u'ro_RO', 'tz': False, 'active_model': ...t': 'web', 'active_ids': [303], 'active_id': 303}", '_terp_count': '2', '_terp_domain': "[['date_order', '>=', '2011-01-29']]", '_terp_edit_inline': '-1', '_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': '7', ...})
    294             view=ustr(frm.render())
    295         else:
    296             view=ustr(wid.render())
    297 
    298         server_logs = ''
  view undefined, builtin ustr = <function ustr>, wid = List, wid.render = <bound method List.render of List>
   /home/mitica/60STABLE_MCM (copy)/openerp/web/openobject/widgets/_base.py in render(self=List, value=None, **params={})
    213 
    214     def render(self, value=None, **params):
    215         return self.display(value, **params)
    216 
    217     def retrieve_css(self):
  self = List, self.display = <bound method List.display of List>, value = None, params = {}
   /home/mitica/60STABLE_MCM (copy)/openerp/web/addons/openerp/widgets/listgrid.py in display(self=List, value=None, **params={})
    312                 new_values = response["value"]
    313                 for k, v in new_values.items():
    314                     if v not in values or values[k] != v:
    315                         values[k] = v
    316 
  v = [], values = {u'discount': 0.0, u'price_ded': 0.0, 'price_subtotal': 0.0, 'price_subtotal_incl': 0.0, 'price_unit': 0.0, u'qty': 1}, k = 'data'

  <type 'exceptions.TypeError'>: unhashable type: 'list'
        args = ("unhashable type: 'list'",)
        message = "unhashable type: 'list'" 
  In GTK work fine.
  Thanks.





Follow ups

References