** Changed in: openobject-client-web
       Status: New => Triaged

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

Title:
  [6.0-trunk] selecting 'Year', 'Month' etc causes python crash

Status in OpenObject Web Client:
  Triaged

Bug description:
  Using Firefox browser on Mac OSX. Using 'Sales Analysis', selecting 'Year', 
'Month' etc gives the following python error:

A problem occurred in a Python script. Here is the sequence of function calls 
leading up to the error, in the order they occurred.
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-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 
'/opt/local/Library/Fram.../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>
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-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_context': 
"{'lang': u'en_GB', 'tz': u'Europe/London', 'acti...716, 4720, 4717, 4714, 
4713], 'active_id': False}", '_terp_count': '1', '_terp_domain': '[]', 
'_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': 
'', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '[4757, 4755, 
4761, 4763, 4765, 4758, 4764, 4759,..., 4719, 4715, 4718, 4716, 4720, 4717, 
4714, 4713]', '_terp_limit': '-1', ...}
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/openobject/tools/_expose.py
 in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 
'listgrid', 'get'), **kw={'_terp_context': "{'lang': u'en_GB', 'tz': 
u'Europe/London', 'acti...716, 4720, 4717, 4714, 4713], 'active_id': False}", 
'_terp_count': '1', '_terp_domain': '[]', '_terp_editable': 'True', 
'_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': 
'[]', '_terp_id': 'False', '_terp_ids': '[4757, 4755, 4761, 4763, 4765, 4758, 
4764, 4759,..., 4719, 4715, 4718, 4716, 4720, 4717, 4714, 4713]', 
'_terp_limit': '-1', ...})
    189                 raise cherrypy.HTTPError(405)
    190 
=>  191             res = func(*args, **kw)
    192             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
    193                 cherrypy.response.headers['Content-Type'] = 
'text/javascript'
global res = 
'/opt/local/Library/Frameworks/Python.framework/V....7.egg/openobject/widgets/templates/textarea.mako',
 func = <function default>, args = (<openobject.controllers._root.Root object>, 
'openerp', 'listgrid', 'get'), kw = {'_terp_context': "{'lang': u'en_GB', 'tz': 
u'Europe/London', 'acti...716, 4720, 4717, 4714, 4713], 'active_id': False}", 
'_terp_count': '1', '_terp_domain': '[]', '_terp_editable': 'True', 
'_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': 
'[]', '_terp_id': 'False', '_terp_ids': '[4757, 4755, 4761, 4763, 4765, 4758, 
4764, 4759,..., 4719, 4715, 4718, 4716, 4720, 4717, 4714, 4713]', 
'_terp_limit': '-1', ...}
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/openobject/controllers/_root.py
 in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 
'listgrid', 'get'), **kw={'_terp_context': "{'lang': u'en_GB', 'tz': 
u'Europe/London', 'acti...716, 4720, 4717, 4714, 4713], 'active_id': False}", 
'_terp_count': '1', '_terp_domain': '[]', '_terp_editable': 'True', 
'_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': 
'[]', '_terp_id': 'False', '_terp_ids': '[4757, 4755, 4761, 4763, 4765, 4758, 
4764, 4759,..., 4719, 4715, 4718, 4716, 4720, 4717, 4714, 4713]', 
'_terp_limit': '-1', ...})
     86             request.handler = cherrypy.NotFound()
     87 
=>   88         return request.handler()
     89 
     90     def find_handler(self):
request = <cherrypy._ThreadLocalProxy object>, request.handler = 
<cherrypy._cpdispatch.LateParamPageHandler object>
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-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_context': "{'lang': 
u'en_GB', 'tz': u'Europe/London', 'acti...716, 4720, 4717, 4714, 4713], 
'active_id': False}", '_terp_count': '1', '_terp_domain': '[]', 
'_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': 
'', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '[4757, 4755, 
4761, 4763, 4765, 4758, 4764, 4759,..., 4719, 4715, 4718, 4716, 4720, 4717, 
4714, 4713]', '_terp_limit': '-1', ...}
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/controllers/utils.py
 in wrapper(*args=(), **kw={'_terp_context': "{'lang': u'en_GB', 'tz': 
u'Europe/London', 'acti...716, 4720, 4717, 4714, 4713], 'active_id': False}", 
'_terp_count': '1', '_terp_domain': '[]', '_terp_editable': 'True', 
'_terp_filter_domain': '[]', '_terp_filters_context': '', '_terp_group_by_ctx': 
'[]', '_terp_id': 'False', '_terp_ids': '[4757, 4755, 4761, 4763, 4765, 4758, 
4764, 4759,..., 4719, 4715, 4718, 4716, 4720, 4717, 4714, 4713]', 
'_terp_limit': '-1', ...})
    118             # User is logged in; allow access
    119             clear_login_fields(kw)
=>  120             return fn(*args, **kw)
    121         else:
    122             action = kw.get('login_action', '')
fn = <bound method List.get of <openerp.controllers.listgrid.List object>>, 
args = (), kw = {'_terp_context': "{'lang': u'en_GB', 'tz': u'Europe/London', 
'acti...716, 4720, 4717, 4714, 4713], 'active_id': False}", '_terp_count': '1', 
'_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', 
'_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', 
'_terp_ids': '[4757, 4755, 4761, 4763, 4765, 4758, 4764, 4759,..., 4719, 4715, 
4718, 4716, 4720, 4717, 4714, 4713]', '_terp_limit': '-1', ...}
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/openobject/tools/_expose.py
 in func_wrapper(*args=(<openerp.controllers.listgrid.List object>,), 
**kw={'_terp_context': "{'lang': u'en_GB', 'tz': u'Europe/London', 'acti...716, 
4720, 4717, 4714, 4713], 'active_id': False}", '_terp_count': '1', 
'_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', 
'_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', 
'_terp_ids': '[4757, 4755, 4761, 4763, 4765, 4758, 4764, 4759,..., 4719, 4715, 
4718, 4716, 4720, 4717, 4714, 4713]', '_terp_limit': '-1', ...})
    189                 raise cherrypy.HTTPError(405)
    190 
=>  191             res = func(*args, **kw)
    192             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
    193                 cherrypy.response.headers['Content-Type'] = 
'text/javascript'
global res = 
'/opt/local/Library/Frameworks/Python.framework/V....7.egg/openobject/widgets/templates/textarea.mako',
 func = <function get>, args = (<openerp.controllers.listgrid.List object>,), 
kw = {'_terp_context': "{'lang': u'en_GB', 'tz': u'Europe/London', 'acti...716, 
4720, 4717, 4714, 4713], 'active_id': False}", '_terp_count': '1', 
'_terp_domain': '[]', '_terp_editable': 'True', '_terp_filter_domain': '[]', 
'_terp_filters_context': '', '_terp_group_by_ctx': '[]', '_terp_id': 'False', 
'_terp_ids': '[4757, 4755, 4761, 4763, 4765, 4758, 4764, 4759,..., 4719, 4715, 
4718, 4716, 4720, 4717, 4714, 4713]', '_terp_limit': '-1', ...}
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/controllers/listgrid.py
 in get(self=<openerp.controllers.listgrid.List object>, **kw={'_terp_context': 
"{'lang': u'en_GB', 'tz': u'Europe/London', 'acti...716, 4720, 4717, 4714, 
4713], 'active_id': False}", '_terp_count': '1', '_terp_domain': '[]', 
'_terp_editable': 'True', '_terp_filter_domain': '[]', '_terp_filters_context': 
'', '_terp_group_by_ctx': '[]', '_terp_id': 'False', '_terp_ids': '[4757, 4755, 
4761, 4763, 4765, 4758, 4764, 4759,..., 4719, 4715, 4718, 4716, 4720, 4717, 
4714, 4713]', '_terp_limit': '-1', ...})
    288             frm = res['form']
    289         else:
=>  290             frm = form.Form().create_form(params)
    291 
    292         if params.view_type == 'graph':
frm undefined, global form = <module 'openerp.controllers.form' from 
'/opt/lo...2-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': 
'',...source': '_terp_list', '_terp_filter_domain': []}
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/controllers/form.py
 in create_form(self=<openerp.controllers.form.Form object>, 
params={'_terp_offset': 0, '_terp_filters_context': '',...source': 
'_terp_list', '_terp_filter_domain': []}, tg_errors=None)
    193         params.view_type = params.view_type or params.view_mode[0]
    194 
=>  195         return tw.form_view.ViewForm(params, name="view_form", 
action="/openerp/form/save")
    196 
    197     @expose(template="/openerp/controllers/templates/form.mako")
global tw = <module 'openerp.widgets' from 
'/opt/local/Libra...2-py2.7.egg/addons/openerp/widgets/__init__.pyc'>, 
tw.form_view = <module 'openerp.widgets.form_view' from 
'/opt/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': '',...source': '_terp_list', 
'_terp_filter_domain': []}, name undefined, action undefined
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/form_view.py
 in __init__(self=ViewForm, params={'_terp_offset': 0, '_terp_filters_context': 
'',...source': '_terp_list', '_terp_filter_domain': []}, **kw={'action': 
'/openerp/form/save', 'name': 'view_form'})
     96             
     97         self.screen = Screen(prefix='', hastoolbar=True, 
hassubmenu=True, editable=editable, readonly=readonly,
=>   98                              selectable=params.selectable or 2)
     99         
    100         if self.screen.widget and self.screen.view_type in ['form', 
'tree']:
selectable undefined, params = {'_terp_offset': 0, '_terp_filters_context': 
'',...source': '_terp_list', '_terp_filter_domain': []}, params.selectable = 
None
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/screen.py
 in __init__(self=Screen, params={'_terp_offset': 0, '_terp_filters_context': 
'',...source': '_terp_list', '_terp_filter_domain': []}, prefix='', name='', 
views_preloaded={}, hastoolbar=True, hassubmenu=True, editable=True, 
readonly=False, selectable=2, nolinks=1, **kw={})
    109         self.kalendar           = params.kalendar
    110         if self.view_mode:
=>  111             self.add_view_id(self.view_id, self.view_type)
    112 
    113     def add_view_id(self, view_id, view_type):
self = Screen, self.add_view_id = <bound method Screen.add_view_id of Screen>, 
self.view_id = 623, self.view_type = 'tree'
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/screen.py
 in add_view_id(self=Screen, view_id=623, view_type='tree')
    123             view = cache.fields_view_get(self.model, view_id, 
view_type, ctx, self.hastoolbar, self.hassubmenu)
    124 
=>  125         self.add_view(view, view_type)
    126 
    127     def add_view(self, view, view_type='form'):
self = Screen, self.add_view = <bound method Screen.add_view of Screen>, view = 
{'arch': u'<tree string="Sales Analysis">\n <...c_account_id" invisible="1"/>\n 
</tree>', 'field_parent': False, 'fields': {'analytic_account_id': {'context': 
{}, 'domain': [], 'invisible': u'1', 'name': u'analytic_account_id', 
'readonly': True, 'relation': u'account.analytic.account', 'selectable': True, 
'string': u'Analytic Account', 'type': u'many2one', 'views': {}}, 'categ_id': 
{'context': {}, 'domain': [], 'invisible': u'1', 'name': u'categ_id', 
'readonly': True, 'relation': u'product.category', 'selectable': True, 
'string': u'Category of Product', 'type': u'many2one', 'views': {}}, 
'company_id': {'context': {}, 'domain': [], 'invisible': u'1', 'name': 
u'company_id', 'readonly': True, 'relation': u'res.company', 'selectable': 
True, 'string': u'Company', 'type': u'many2one', 'views': {}}, 'date': 
{'invisible': u'1', 'name': u'date', 'readonly': True, 'selectable': True, 
'string': u'Date Order', 'type': u'date', 'views': {}}, 'day': {'invisible': 
u'1', 'name': u'day', 'readonly': True, 'selectable': True, 'size': 128, 
'string': u'Day', 'type': u'char', 'views': {}}, 'delay': {'digits': (16, 2), 
'name': u'delay', 'readonly': True, 'selectable': True, 'string': u'Commitment 
Delay', 'sum': u'Commitment Delay', 'type': u'float', 'views': {}}, 'month': 
{'invisible': u'1', 'name': u'month', 'readonly': True, 'selectable': True, 
'selection': [(u'01', u'January'), (u'02', u'February'), (u'03', u'March'), 
(u'04', u'April'), (u'05', u'May'), (u'06', u'June'), (u'07', u'July'), (u'08', 
u'August'), (u'09', u'September'), (u'10', u'October'), (u'11', u'November'), 
(u'12', u'December')], 'string': u'Month', 'type': u'selection', 'views': {}}, 
'nbr': {'name': u'nbr', 'readonly': True, 'selectable': True, 'string': u'# of 
Lines', 'sum': u'# of Lines', 'type': u'integer', 'views': {}}, 'partner_id': 
{'context': {}, 'domain': [], 'invisible': u'1', 'name': u'partner_id', 
'readonly': True, 'relation': u'res.partner', 'selectable': True, 'string': 
u'Partner', 'type': u'many2one', 'views': {}}, 'price_total': {'name': 
u'price_total', 'readonly': True, 'selectable': True, 'string': u'Total Price', 
'sum': u'Total Price', 'type': u'float', 'views': {}}, ...}, 'model': 
u'sale.report', 'name': u'sale.report.tree', 'toolbar': {'action': [], 'print': 
[], 'relate': []}, 'type': u'tree', 'view_id': 623}, view_type = 'tree'
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/screen.py
 in add_view(self=Screen, view={'arch': u'<tree string="Sales Analysis">\n 
<...c_account_id" invisible="1"/>\n </tree>', 'field_parent': False, 'fields': 
{'analytic_account_id': {'context': {}, 'domain': [], 'invisible': u'1', 
'name': u'analytic_account_id', 'readonly': True, 'relation': 
u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 
'type': u'many2one', 'views': {}}, 'categ_id': {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'categ_id', 'readonly': True, 'relation': 
u'product.category', 'selectable': True, 'string': u'Category of Product', 
'type': u'many2one', 'views': {}}, 'company_id': {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'company_id', 'readonly': True, 'relation': 
u'res.company', 'selectable': True, 'string': u'Company', 'type': u'many2one', 
'views': {}}, 'date': {'invisible': u'1', 'name': u'date', 'readonly': True, 
'selectable': True, 'string': u'Date Order', 'type': u'date', 'views': {}}, 
'day': {'invisible': u'1', 'name': u'day', 'readonly': True, 'selectable': 
True, 'size': 128, 'string': u'Day', 'type': u'char', 'views': {}}, 'delay': 
{'digits': (16, 2), 'name': u'delay', 'readonly': True, 'selectable': True, 
'string': u'Commitment Delay', 'sum': u'Commitment Delay', 'type': u'float', 
'views': {}}, 'month': {'invisible': u'1', 'name': u'month', 'readonly': True, 
'selectable': True, 'selection': [(u'01', u'January'), (u'02', u'February'), 
(u'03', u'March'), (u'04', u'April'), (u'05', u'May'), (u'06', u'June'), 
(u'07', u'July'), (u'08', u'August'), (u'09', u'September'), (u'10', 
u'October'), (u'11', u'November'), (u'12', u'December')], 'string': u'Month', 
'type': u'selection', 'views': {}}, 'nbr': {'name': u'nbr', 'readonly': True, 
'selectable': True, 'string': u'# of Lines', 'sum': u'# of Lines', 'type': 
u'integer', 'views': {}}, 'partner_id': {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'partner_id', 'readonly': True, 'relation': 
u'res.partner', 'selectable': True, 'string': u'Partner', 'type': u'many2one', 
'views': {}}, 'price_total': {'name': u'price_total', 'readonly': True, 
'selectable': True, 'string': u'Total Price', 'sum': u'Total Price', 'type': 
u'float', 'views': {}}, ...}, 'model': u'sale.report', 'name': 
u'sale.report.tree', 'toolbar': {'action': [], 'print': [], 'relate': []}, 
'type': u'tree', 'view_id': 623}, view_type='tree')
    131         
    132         from _views import get_view_widget
=>  133         self.widget = get_view_widget(view_type, self)
    134 
    135         self.string = (self.widget or '') and self.widget.string
self = Screen, self.widget = None, get_view_widget = <function 
get_view_widget>, view_type = 'tree'
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/_views.py
 in get_view_widget(kind='tree', screen=Screen)
    135         raise Exception("view '%s' not supported." % kind)
    136 
=>  137     return view(screen)
    138 
    139 def get_registered_views():
view = <openerp.widgets._views.ListView object>, screen = Screen
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/_views.py
 in __call__(self=<openerp.widgets._views.ListView object>, screen=Screen)
    102                                         offset=screen.offset, 
limit=screen.limit,
    103                                         count=screen.count, 
nolinks=screen.link,
=>  104                                         
group_by_ctx=screen.group_by_ctx)
    105         else:
    106             widget = listgrid.List(screen.name or '_terp_list',
group_by_ctx undefined, screen = Screen, screen.group_by_ctx = []
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/listgroup.py
 in __init__(self=ListGroup, name='_terp_list', model='sale.report', 
view={'arch': u'<tree string="Sales Analysis">\n <...c_account_id" 
invisible="1"/>\n </tree>', 'field_parent': False, 'fields': 
{'analytic_account_id': {'context': {}, 'domain': [], 'invisible': u'1', 
'name': u'analytic_account_id', 'readonly': True, 'relation': 
u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 
'type': u'many2one', 'views': {}}, 'categ_id': {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'categ_id', 'readonly': True, 'relation': 
u'product.category', 'selectable': True, 'string': u'Category of Product', 
'type': u'many2one', 'views': {}}, 'company_id': {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'company_id', 'readonly': True, 'relation': 
u'res.company', 'selectable': True, 'string': u'Company', 'type': u'many2one', 
'views': {}}, 'date': {'invisible': u'1', 'name': u'date', 'readonly': True, 
'selectable': True, 'string': u'Date Order', 'type': u'date', 'views': {}}, 
'day': {'invisible': u'1', 'name': u'day', 'readonly': True, 'selectable': 
True, 'size': 128, 'string': u'Day', 'type': u'char', 'views': {}}, 'delay': 
{'digits': (16, 2), 'name': u'delay', 'readonly': True, 'selectable': True, 
'string': u'Commitment Delay', 'sum': u'Commitment Delay', 'type': u'float', 
'views': {}}, 'month': {'invisible': u'1', 'name': u'month', 'readonly': True, 
'selectable': True, 'selection': [(u'01', u'January'), (u'02', u'February'), 
(u'03', u'March'), (u'04', u'April'), (u'05', u'May'), (u'06', u'June'), 
(u'07', u'July'), (u'08', u'August'), (u'09', u'September'), (u'10', 
u'October'), (u'11', u'November'), (u'12', u'December')], 'string': u'Month', 
'type': u'selection', 'views': {}}, 'nbr': {'name': u'nbr', 'readonly': True, 
'selectable': True, 'string': u'# of Lines', 'sum': u'# of Lines', 'type': 
u'integer', 'views': {}}, 'partner_id': {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'partner_id', 'readonly': True, 'relation': 
u'res.partner', 'selectable': True, 'string': u'Partner', 'type': u'many2one', 
'views': {}}, 'price_total': {'name': u'price_total', 'readonly': True, 
'selectable': True, 'string': u'Total Price', 'sum': u'Total Price', 'type': 
u'float', 'views': {}}, ...}, 'model': u'sale.report', 'name': 
u'sale.report.tree', 'toolbar': {'action': [], 'print': [], 'relate': []}, 
'type': u'tree', 'view_id': 623}, ids=None, domain=[('date', '<=', False), 
('date', '>=', False), ('date', '<=', False), ('date', '>=', False)], 
context={'active_id': False, 'active_ids': [4757, 4755, 4761, 4763, 4765, 4758, 
4764, 4759, 4762, 4756, 4766, 4760, 4747, 4753, 4746, 4750, 4749, 4752, 4751, 
4754, ...], 'active_model': False, 'client': 'web', 'group_by_no_leaf': 1, 
'lang': u'en_GB', 'search_view': 625, 'tz': u'Europe/London'}, **kw={'count': 
1, 'editable': True, 'group_by_ctx': [], 'limit': -1, 'nolinks': 1, 'offset': 
0, 'selectable': 2, 'view_mode': ['tree', 'graph']})
    194             self.group_by_ctx = self.context.get('group_by')
    195 
=>  196         self.group_by_ctx, self.hiddens, self.headers = 
parse(self.group_by_ctx, self.hiddens, self.headers, None, self.group_by_ctx)
    197 
    198         self.grp_records = 
proxy.read_group(self.context.get('__domain', []) + (self.domain or []),
self = ListGroup, self.group_by_ctx = None, self.hiddens = [(u'date', 
{'invisible': u'1', 'name': u'date', 'readonly': True, 'selectable': True, 
'string': u'Date Order', 'type': u'date', 'views': {}}), (u'user_id', 
{'context': {}, 'domain': [], 'invisible': u'1', 'name': u'user_id', 
'readonly': True, 'relation': u'res.users', 'selectable': True, 'string': 
u'Salesman', 'type': u'many2one', 'views': {}}), (u'year', {'invisible': u'1', 
'name': u'year', 'readonly': True, 'selectable': True, 'size': 4, 'string': 
u'Year', 'type': u'char', 'views': {}}), (u'day', {'invisible': u'1', 'name': 
u'day', 'readonly': True, 'selectable': True, 'size': 128, 'string': u'Day', 
'type': u'char', 'views': {}}), (u'month', {'invisible': u'1', 'name': 
u'month', 'readonly': True, 'selectable': True, 'selection': [(u'01', 
u'January'), (u'02', u'February'), (u'03', u'March'), (u'04', u'April'), 
(u'05', u'May'), (u'06', u'June'), (u'07', u'July'), (u'08', u'August'), 
(u'09', u'September'), (u'10', u'October'), (u'11', u'November'), (u'12', 
u'December')], 'string': u'Month', 'type': u'selection', 'views': {}}), 
(u'shop_id', {'context': {}, 'domain': [], 'invisible': u'1', 'name': 
u'shop_id', 'readonly': True, 'relation': u'sale.shop', 'selectable': True, 
'string': u'Shop', 'type': u'many2one', 'views': {}}), (u'company_id', 
{'context': {}, 'domain': [], 'invisible': u'1', 'name': u'company_id', 
'readonly': True, 'relation': u'res.company', 'selectable': True, 'string': 
u'Company', 'type': u'many2one', 'views': {}}), (u'partner_id', {'context': {}, 
'domain': [], 'invisible': u'1', 'name': u'partner_id', 'readonly': True, 
'relation': u'res.partner', 'selectable': True, 'string': u'Partner', 'type': 
u'many2one', 'views': {}}), (u'product_id', {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'product_id', 'readonly': True, 'relation': 
u'product.product', 'selectable': True, 'string': u'Product', 'type': 
u'many2one', 'views': {}}), (u'categ_id', {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'categ_id', 'readonly': True, 'relation': 
u'product.category', 'selectable': True, 'string': u'Category of Product', 
'type': u'many2one', 'views': {}}), (u'uom_name', {'invisible': u"not 
context.get('set_visible',False)", 'name': u'uom_name', 'readonly': True, 
'selectable': True, 'size': 128, 'string': u'Reference UoM', 'type': u'char', 
'views': {}}), (u'state', {'invisible': u'1', 'name': u'state', 'readonly': 
True, 'selectable': True, 'selection': [(u'draft', u'Quotation'), 
(u'waiting_date', u'Waiting Schedule'), (u'manual', u'Manual In Progress'), 
(u'progress', u'In Progress'), (u'shipping_except', u'Shipping Exception'), 
(u'invoice_except', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', 
u'Cancelled')], 'string': u'Order State', 'type': u'selection', 'views': {}}), 
(u'analytic_account_id', {'context': {}, 'domain': [], 'invisible': u'1', 
'name': u'analytic_account_id', 'readonly': True, 'relation': 
u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 
'type': u'many2one', 'views': {}})], self.headers = [(u'nbr', {'name': u'nbr', 
'readonly': True, 'selectable': True, 'string': u'# of Lines', 'sum': u'# of 
Lines', 'type': u'integer', 'views': {}}), (u'product_uom_qty', {'name': 
u'product_uom_qty', 'readonly': True, 'selectable': True, 'string': u'# of 
Qty', 'sum': u'# of Qty', 'type': u'float', 'views': {}}), (u'shipped_qty_1', 
{'name': u'shipped_qty_1', 'readonly': True, 'selectable': True, 'string': 
u'Shipped Qty', 'sum': u'Shipped Qty', 'type': u'integer', 'views': {}}), 
(u'price_total', {'name': u'price_total', 'readonly': True, 'selectable': True, 
'string': u'Total Price', 'sum': u'Total Price', 'type': u'float', 'views': 
{}}), (u'delay', {'digits': (16, 2), 'name': u'delay', 'readonly': True, 
'selectable': True, 'string': u'Commitment Delay', 'sum': u'Commitment Delay', 
'type': u'float', 'views': {}})], global parse = <function parse>, builtin None 
= None
 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/openerp_web-6.0.0_rc2-py2.7.egg/addons/openerp/widgets/listgroup.py
 in parse(group_by=None, hiddens=[(u'date', {'invisible': u'1', 'name': 
u'date', 'readonly': True, 'selectable': True, 'string': u'Date Order', 'type': 
u'date', 'views': {}}), (u'user_id', {'context': {}, 'domain': [], 'invisible': 
u'1', 'name': u'user_id', 'readonly': True, 'relation': u'res.users', 
'selectable': True, 'string': u'Salesman', 'type': u'many2one', 'views': {}}), 
(u'year', {'invisible': u'1', 'name': u'year', 'readonly': True, 'selectable': 
True, 'size': 4, 'string': u'Year', 'type': u'char', 'views': {}}), (u'day', 
{'invisible': u'1', 'name': u'day', 'readonly': True, 'selectable': True, 
'size': 128, 'string': u'Day', 'type': u'char', 'views': {}}), (u'month', 
{'invisible': u'1', 'name': u'month', 'readonly': True, 'selectable': True, 
'selection': [(u'01', u'January'), (u'02', u'February'), (u'03', u'March'), 
(u'04', u'April'), (u'05', u'May'), (u'06', u'June'), (u'07', u'July'), (u'08', 
u'August'), (u'09', u'September'), (u'10', u'October'), (u'11', u'November'), 
(u'12', u'December')], 'string': u'Month', 'type': u'selection', 'views': {}}), 
(u'shop_id', {'context': {}, 'domain': [], 'invisible': u'1', 'name': 
u'shop_id', 'readonly': True, 'relation': u'sale.shop', 'selectable': True, 
'string': u'Shop', 'type': u'many2one', 'views': {}}), (u'company_id', 
{'context': {}, 'domain': [], 'invisible': u'1', 'name': u'company_id', 
'readonly': True, 'relation': u'res.company', 'selectable': True, 'string': 
u'Company', 'type': u'many2one', 'views': {}}), (u'partner_id', {'context': {}, 
'domain': [], 'invisible': u'1', 'name': u'partner_id', 'readonly': True, 
'relation': u'res.partner', 'selectable': True, 'string': u'Partner', 'type': 
u'many2one', 'views': {}}), (u'product_id', {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'product_id', 'readonly': True, 'relation': 
u'product.product', 'selectable': True, 'string': u'Product', 'type': 
u'many2one', 'views': {}}), (u'categ_id', {'context': {}, 'domain': [], 
'invisible': u'1', 'name': u'categ_id', 'readonly': True, 'relation': 
u'product.category', 'selectable': True, 'string': u'Category of Product', 
'type': u'many2one', 'views': {}}), (u'uom_name', {'invisible': u"not 
context.get('set_visible',False)", 'name': u'uom_name', 'readonly': True, 
'selectable': True, 'size': 128, 'string': u'Reference UoM', 'type': u'char', 
'views': {}}), (u'state', {'invisible': u'1', 'name': u'state', 'readonly': 
True, 'selectable': True, 'selection': [(u'draft', u'Quotation'), 
(u'waiting_date', u'Waiting Schedule'), (u'manual', u'Manual In Progress'), 
(u'progress', u'In Progress'), (u'shipping_except', u'Shipping Exception'), 
(u'invoice_except', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', 
u'Cancelled')], 'string': u'Order State', 'type': u'selection', 'views': {}}), 
(u'analytic_account_id', {'context': {}, 'domain': [], 'invisible': u'1', 
'name': u'analytic_account_id', 'readonly': True, 'relation': 
u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 
'type': u'many2one', 'views': {}})], headers=[(u'nbr', {'name': u'nbr', 
'readonly': True, 'selectable': True, 'string': u'# of Lines', 'sum': u'# of 
Lines', 'type': u'integer', 'views': {}}), (u'product_uom_qty', {'name': 
u'product_uom_qty', 'readonly': True, 'selectable': True, 'string': u'# of 
Qty', 'sum': u'# of Qty', 'type': u'float', 'views': {}}), (u'shipped_qty_1', 
{'name': u'shipped_qty_1', 'readonly': True, 'selectable': True, 'string': 
u'Shipped Qty', 'sum': u'Shipped Qty', 'type': u'integer', 'views': {}}), 
(u'price_total', {'name': u'price_total', 'readonly': True, 'selectable': True, 
'string': u'Total Price', 'sum': u'Total Price', 'type': u'float', 'views': 
{}}), (u'delay', {'digits': (16, 2), 'name': u'delay', 'readonly': True, 
'selectable': True, 'string': u'Commitment Delay', 'sum': u'Commitment Delay', 
'type': u'float', 'views': {}})], group_level=None, groups=None)
     45         group_by = group_by.split(',')
     46 
=>   47     for grp in range(len(group_by)):
     48         if 'group_' in group_by[grp]:
     49             if group_by[grp].count('group_') > 1:
grp undefined, builtin range = <built-in function range>, builtin len = 
<built-in function len>, group_by = None

<type 'exceptions.TypeError'>: object of type 'NoneType' has no len()
      args = ("object of type 'NoneType' has no len()",)
      message = "object of type 'NoneType' has no len()"



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

Reply via email to