← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 658875] Re: error raised in some pages after changing language to arabic

 

Hello Ibrahim,

I have checked the issue but it works quite well in both stable as well
[RC1] into windows.

Can you make sure that ar_AR locale has been installed in your system?

Thanks.


** Changed in: openobject-addons
       Status: New => Invalid

-- 
error raised in some pages after changing language to arabic
https://bugs.launchpad.net/bugs/658875
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.

Status in OpenObject Addons Modules: Invalid

Bug description:
Changing user language to arabic produce an error when using the web client. Examples for pages producing this error:
- All Cases page from CRM & SRM module
- Purchase Orders from Purchase Management module.
OS: Windows 7 64-bit
the error:

 
 
<class 'babel.core.UnknownLocaleError'>	Python 2.5.4: C:\Program Files (x86)\OpenERP AllInOne\Web\python25\python.exe
Tue Oct 12 04:07:30 2010

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\cherrypy-3.1.2-py2.5-win32.egg\cherrypy\_cprequest.py in respond(self=<cherrypy._cprequest.Request object at 0x05284470>, path_info='/tree/open')
  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 'C:\Program Files (x86)\...ypy-3.1.2-py2.5-win32.egg\cherrypy\__init__.pyc'>, cherrypy.response = <cherrypy._ThreadLocalProxy object at 0x0115D750>, cherrypy.response.body = [], self = <cherrypy._cprequest.Request object at 0x05284470>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object at 0x04BE1D70>
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\cherrypy-3.1.2-py2.5-win32.egg\cherrypy\_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object at 0x04BE1D70>)
   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 at 0x04BE1D70>, self.callable = <function open at 0x05281C30>, self.args = (), self.kwargs = {'id': '305', 'model': 'ir.ui.menu'}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\base.py in wrapper(*args=(), **kw={'id': '305', 'model': 'ir.ui.menu'})
  128             # User is logged in; allow access
  129             clear_login_fields(kw)
  130             return fn(*args, **kw)
  131         else:
  132             # User isn't logged in yet.
fn = <bound method Tree.open of <openerp.controllers.tree.Tree object at 0x00E68750>>, args = (), kw = {'id': '305', 'model': 'ir.ui.menu'}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\tools\expose.py in func_wrapper(*args=(<openerp.controllers.tree.Tree object at 0x00E68750>,), **kw={'id': '305', 'model': 'ir.ui.menu'})
  202         def func_wrapper(*args, **kw):
  203 
  204             res = func(*args, **kw)
  205             
  206             if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):
global res = r'C:\Program Files (x86)\OpenERP AllInOne\Web\pyth....egg\openerp\widgets_search\templates\search.mako', func = <function open at 0x01E41770>, args = (<openerp.controllers.tree.Tree object at 0x00E68750>,), kw = {'id': '305', 'model': 'ir.ui.menu'}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\tree.py in open(self=<openerp.controllers.tree.Tree object at 0x00E68750>, **kw={'id': '305', 'model': 'ir.ui.menu'})
  279         datas['ids'] = kw.get('id')
  280 
  281         return self.do_action('tree_but_open', datas=datas)
  282 
  283 # vim: ts=4 sts=4 sw=4 si et
self = <openerp.controllers.tree.Tree object at 0x00E68750>, self.do_action = <bound method Tree.do_action of <openerp.controllers.tree.Tree object at 0x00E68750>>, datas = {'_terp_context': {}, '_terp_domain': [], '_terp_model': 'ir.ui.menu', 'ids': '305'}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\tree.py in do_action(self=<openerp.controllers.tree.Tree object at 0x00E68750>, name='tree_but_open', adds={}, datas={'_terp_context': {}, '_terp_domain': [], '_terp_model': 'ir.ui.menu', 'ids': '305'})
  233         if len(ids):
  234             from openerp.controllers import actions
  235             return actions.execute_by_keyword(name, adds=adds, model=model, id=id, ids=ids, context=ctx, report_type='pdf')
  236         else:
  237             raise common.message(_("No record selected!"))
actions = <module 'openerp.controllers.actions' from 'C:\P....0.12-py2.5.egg\openerp\controllers\actions.pyc'>, actions.execute_by_keyword = <function execute_by_keyword at 0x01F21630>, name = 'tree_but_open', adds = {}, model = 'ir.ui.menu', id = 305, ids = [305], context = {}, ctx = {'client': 'web', 'lang': u'ar_AR', 'tz': False}, report_type undefined
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\actions.py in execute_by_keyword(keyword='tree_but_open', adds={}, **data={'context': {'client': 'web', 'lang': u'ar_AR', 'tz': False}, 'id': 305, 'ids': [305], 'model': 'ir.ui.menu', 'report_type': 'pdf'})
  385     if len(keyact) == 1:
  386         key = keyact.keys()[0]
  387         return execute(keyact[key], **data)
  388     else:
  389         return Selection().create(keyact, **data)
global execute = <function execute at 0x01F21530>, keyact = {u'Purchase Orders': {'auto_refresh': 0, 'context': u'{}', 'domain': '[]', 'groups_id': [], 'id': 360, 'limit': 80, 'name': u'Purchase Orders', 'res_model': u'purchase.order', 'src_model': False, 'target': u'current', ...}}, key = u'Purchase Orders', data = {'context': {'client': 'web', 'lang': u'ar_AR', 'tz': False}, 'id': 305, 'ids': [305], 'model': 'ir.ui.menu', 'report_type': 'pdf'}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\actions.py in execute(action={'auto_refresh': 0, 'context': u'{}', 'domain': '[]', 'groups_id': [], 'id': 360, 'limit': 80, 'name': u'Purchase Orders', 'res_model': u'purchase.order', 'src_model': False, 'target': u'current', ...}, **data={'context': {'client': 'web', 'lang': u'ar_AR', 'tz': False}, 'id': 305, 'ids': [305], 'limit': 80, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'purchase.order', 'view_mode': u'tree,form,calendar,graph', 'view_type': u'form'})
  268                              name=action.get('name'),
  269                              target=action.get('target'),
  270                              limit=data.get('limit'))
  271         
  272         return res
limit undefined, data = {'context': {'client': 'web', 'lang': u'ar_AR', 'tz': False}, 'id': 305, 'ids': [305], 'limit': 80, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'purchase.order', 'view_mode': u'tree,form,calendar,graph', 'view_type': u'form'}, data.get = <built-in method get of dict object at 0x0529CE40>
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\actions.py in execute_window(view_ids=[False, False, False, False], model=u'purchase.order', res_id=None, domain=[], view_type=u'form', context={'_terp_view_name': u'Purchase Orders', 'active_id': 305, 'active_ids': [305], 'client': 'web', 'lang': u'ar_AR', 'tz': False}, mode=[u'tree', u'form', u'calendar', u'graph'], name=u'Purchase Orders', target=u'current', limit=80)
   86         params.view_mode=mode
   87 
   88         return Form().create(params)
   89 
   90     elif view_type == 'tree':
global Form = <class 'openerp.controllers.form.Form'>, ).create = <unbound method Form.create>, params = {'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\base.py in wrapper(*args=({'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]},), **kw={})
  128             # User is logged in; allow access
  129             clear_login_fields(kw)
  130             return fn(*args, **kw)
  131         else:
  132             # User isn't logged in yet.
fn = <bound method Form.create of <openerp.controllers.form.Form object at 0x04BE1E90>>, args = ({'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]},), kw = {}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\tools\expose.py in func_wrapper(*args=(<openerp.controllers.form.Form object at 0x04BE1E90>, {'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}), **kw={})
  202         def func_wrapper(*args, **kw):
  203 
  204             res = func(*args, **kw)
  205             
  206             if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):
global res = r'C:\Program Files (x86)\OpenERP AllInOne\Web\pyth....egg\openerp\widgets_search\templates\search.mako', func = <function create at 0x01E2D730>, args = (<openerp.controllers.form.Form object at 0x04BE1E90>, {'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}), kw = {}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\form.py in create(self=<openerp.controllers.form.Form object at 0x04BE1E90>, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}, tg_errors=None)
  209             params.editable = True
  210 
  211         form = self.create_form(params, tg_errors)
  212 
  213         if not tg_errors:
form undefined, self = <openerp.controllers.form.Form object at 0x04BE1E90>, self.create_form = <bound method Form.create_form of <openerp.controllers.form.Form object at 0x04BE1E90>>, params = {'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}, tg_errors = None
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\controllers\form.py in create_form(self=<openerp.controllers.form.Form object at 0x04BE1E90>, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}, tg_errors=None)
  199         params.view_type = params.view_type or params.view_mode[0]
  200 
  201         return tw.form_view.ViewForm(params, name="view_form", action="/form/save")
  202 
  203     @expose(template="templates/form.mako")
global tw = <module 'openerp.widgets' from 'C:\Program Files...b-5.0.12-py2.5.egg\openerp\widgets\__init__.pyc'>, tw.form_view = <module 'openerp.widgets.form_view' from 'C:\Pro...-5.0.12-py2.5.egg\openerp\widgets\form_view.pyc'>, tw.form_view.ViewForm = <class 'openerp.widgets.form_view.ViewForm'>, params = {'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}, name undefined, action undefined
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\base\meta.py in wrapper(self=ViewForm, *args=({'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]},), **kw={'action': '/form/save', 'name': 'view_form'})
   38             self.__initstack.append(1)
   39 
   40         res = func(self, *args, **kw)
   41         try:
   42             self.__initstack.pop()
res undefined, func = <function __init__ at 0x01E2D0F0>, self = ViewForm, args = ({'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]},), kw = {'action': '/form/save', 'name': 'view_form'}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\form_view.py in __init__(self=ViewForm, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}, **kw={'action': '/form/save', 'name': 'view_form'})
   70 
   71         self.screen = Screen(prefix='', hastoolbar=True, editable=editable, readonly=readonly,
   72                              selectable=params.selectable or 2)
   73 
   74         self.sidebar = Sidebar(self.screen.model, self.screen.toolbar, self.screen.id,
selectable undefined, params = {'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}, params.selectable = None
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\base\meta.py in wrapper(self=Screen, *args=(), **kw={'editable': True, 'hastoolbar': True, 'prefix': '', 'readonly': False, 'selectable': 2})
   38             self.__initstack.append(1)
   39 
   40         res = func(self, *args, **kw)
   41         try:
   42             self.__initstack.pop()
res undefined, func = <function __init__ at 0x01DA1570>, self = Screen, args = (), kw = {'editable': True, 'hastoolbar': True, 'prefix': '', 'readonly': False, 'selectable': 2}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\screen.py in __init__(self=Screen, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..., '_terp_view_ids': [False, False, False, False]}, prefix='', name='', views_preloaded={}, hastoolbar=True, editable=True, readonly=False, selectable=2, nolinks=1)
  125 
  126         if self.view_mode:
  127             self.add_view_id(self.view_id, self.view_type)
  128 
  129     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 = 326, self.view_type = u'tree'
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\screen.py in add_view_id(self=Screen, view_id=False, view_type=u'tree')
  143                 fields[dom[0]]['domain'] = field_dom[:1] + str(('id', dom[1], dom[2])) + ',' + field_dom[1:]
  144                 
  145         self.add_view(view, view_type)
  146 
  147     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="Purchase Order">\n ... <field name="state"/>\n </tree>', 'field_parent': False, 'fields': {'amount_untaxed': {'digits': (16, 2), 'readonly': 1, 'string': u'Untaxed Amount', 'type': u'float', 'views': {}}, 'date_order': {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'views': {}}, 'invoiced_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Invoiced', 'type': u'float', 'views': {}}, 'location_id': {'context': u'', 'domain': [(u'usage', u'<>', u'view')], 'relation': u'stock.location', 'required': True, 'string': u'Destination', 'type': u'many2one', 'views': {}}, 'minimum_planned_date': {'digits': (16, 2), 'help': u"This is computed as the minimum scheduled date of all purchase order lines' products.", 'string': u'Planned Date', 'type': u'datetime', 'views': {}}, 'name': {'name': u'name', 'required': True, 'select': True, 'size': 64, 'string': u'Reference', 'type': u'char', 'views': {}}, 'origin': {'help': u'Reference of the document that generated this purchase order request.', 'size': 64, 'string': u'Origin', 'type': u'char', 'views': {}}, 'partner_id': {'change_default': True, 'context': u'', 'domain': [], 'relation': u'res.partner', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Supplier', 'type': u'many2one', 'views': {}}, 'shipped_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Received', 'type': u'float', 'views': {}}, 'state': {'help': u'The state of the purchase order or the quotation...ception of goods, the state becomes in exception.', 'readonly': True, 'select': True, 'selection': [(u'draft', u'Request for Quotation'), (u'wait', u'Waiting'), (u'confirmed', u'Confirmed'), (u'approved', u'Approved'), (u'except_picking', u'Shipping Exception'), (u'except_invoice', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', u'Cancelled')], 'string': u'Order Status', 'type': u'selection', 'views': {}}}, 'model': u'purchase.order', 'name': u'purchase.order.tree', 'toolbar': {'action': [], 'print': [{'attachment': False, 'attachment_use': False, 'auto': False, 'groups_id': [], 'header': True, 'id': 368, 'model': u'purchase.order', 'multi': False, 'name': u'Purchase Order', 'report_name': u'purchase.order', ...}, {'attachment': False, 'attachment_use': False, 'auto': False, 'groups_id': [], 'header': True, 'id': 367, 'model': u'purchase.order', 'multi': False, 'name': u'Request for Quotation', 'report_name': u'purchase.quotation', ...}], 'relate': [{'auto_refresh': 0, 'context': u'{}', 'domain': u"[('purchase_id', '=', active_id)]", 'groups_id': [], 'id': 370, 'limit': 0, 'name': u'Packing', 'res_model': u'stock.picking', 'src_model': u'purchase.order', 'string': u'Packing', ...}]}, 'type': u'tree', 'view_id': 326}, view_type = u'tree'
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\screen.py in add_view(self=Screen, view={'arch': u'<tree string="Purchase Order">\n ... <field name="state"/>\n </tree>', 'field_parent': False, 'fields': {'amount_untaxed': {'digits': (16, 2), 'readonly': 1, 'string': u'Untaxed Amount', 'type': u'float', 'views': {}}, 'date_order': {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'views': {}}, 'invoiced_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Invoiced', 'type': u'float', 'views': {}}, 'location_id': {'context': u'', 'domain': [(u'usage', u'<>', u'view')], 'relation': u'stock.location', 'required': True, 'string': u'Destination', 'type': u'many2one', 'views': {}}, 'minimum_planned_date': {'digits': (16, 2), 'help': u"This is computed as the minimum scheduled date of all purchase order lines' products.", 'string': u'Planned Date', 'type': u'datetime', 'views': {}}, 'name': {'name': u'name', 'required': True, 'select': True, 'size': 64, 'string': u'Reference', 'type': u'char', 'views': {}}, 'origin': {'help': u'Reference of the document that generated this purchase order request.', 'size': 64, 'string': u'Origin', 'type': u'char', 'views': {}}, 'partner_id': {'change_default': True, 'context': u'', 'domain': [], 'relation': u'res.partner', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Supplier', 'type': u'many2one', 'views': {}}, 'shipped_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Received', 'type': u'float', 'views': {}}, 'state': {'help': u'The state of the purchase order or the quotation...ception of goods, the state becomes in exception.', 'readonly': True, 'select': True, 'selection': [(u'draft', u'Request for Quotation'), (u'wait', u'Waiting'), (u'confirmed', u'Confirmed'), (u'approved', u'Approved'), (u'except_picking', u'Shipping Exception'), (u'except_invoice', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', u'Cancelled')], 'string': u'Order Status', 'type': u'selection', 'views': {}}}, 'model': u'purchase.order', 'name': u'purchase.order.tree', 'toolbar': {'action': [], 'print': [{'attachment': False, 'attachment_use': False, 'auto': False, 'groups_id': [], 'header': True, 'id': 368, 'model': u'purchase.order', 'multi': False, 'name': u'Purchase Order', 'report_name': u'purchase.order', ...}, {'attachment': False, 'attachment_use': False, 'auto': False, 'groups_id': [], 'header': True, 'id': 367, 'model': u'purchase.order', 'multi': False, 'name': u'Request for Quotation', 'report_name': u'purchase.quotation', ...}], 'relate': [{'auto_refresh': 0, 'context': u'{}', 'domain': u"[('purchase_id', '=', active_id)]", 'groups_id': [], 'id': 370, 'limit': 0, 'name': u'Packing', 'res_model': u'stock.picking', 'src_model': u'purchase.order', 'string': u'Packing', ...}]}, 'type': u'tree', 'view_id': 326}, view_type=u'tree')
  175                                         editable=self.editable,
  176                                         selectable=self.selectable,
  177                                         offset=self.offset, limit=self.limit, count=self.count, nolinks=self.link)
  178 
  179             self.ids = self.widget.ids
offset undefined, self = Screen, self.offset = 0, limit undefined, self.limit = 80, count undefined, self.count = 0, nolinks undefined, self.link = 1
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\base\meta.py in wrapper(self=List, *args=('_terp_list',), **kw={'context': {'_terp_view_name': u'Purchase Orders', 'active_id': 305, 'active_ids': [305], 'client': 'web', 'lang': u'ar_AR', 'tz': False}, 'count': 0, 'domain': [], 'editable': True, 'ids': None, 'limit': 80, 'model': u'purchase.order', 'nolinks': 1, 'offset': 0, 'selectable': 2, ...})
   38             self.__initstack.append(1)
   39 
   40         res = func(self, *args, **kw)
   41         try:
   42             self.__initstack.pop()
res undefined, func = <function __init__ at 0x01D251B0>, self = List, args = ('_terp_list',), kw = {'context': {'_terp_view_name': u'Purchase Orders', 'active_id': 305, 'active_ids': [305], 'client': 'web', 'lang': u'ar_AR', 'tz': False}, 'count': 0, 'domain': [], 'editable': True, 'ids': None, 'limit': 80, 'model': u'purchase.order', 'nolinks': 1, 'offset': 0, 'selectable': 2, ...}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\listgrid.py in __init__(self=List, name='_terp_list', model=u'purchase.order', view={'arch': u'<tree string="Purchase Order">\n ... <field name="state"/>\n </tree>', 'field_parent': False, 'fields': {'amount_untaxed': {'digits': (16, 2), 'readonly': 1, 'string': u'Untaxed Amount', 'type': u'float', 'views': {}}, 'date_order': {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'views': {}}, 'invoiced_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Invoiced', 'type': u'float', 'views': {}}, 'location_id': {'context': u'', 'domain': [(u'usage', u'<>', u'view')], 'relation': u'stock.location', 'required': True, 'string': u'Destination', 'type': u'many2one', 'views': {}}, 'minimum_planned_date': {'digits': (16, 2), 'help': u"This is computed as the minimum scheduled date of all purchase order lines' products.", 'string': u'Planned Date', 'type': u'datetime', 'views': {}}, 'name': {'name': u'name', 'required': True, 'select': True, 'size': 64, 'string': u'Reference', 'type': u'char', 'views': {}}, 'origin': {'help': u'Reference of the document that generated this purchase order request.', 'size': 64, 'string': u'Origin', 'type': u'char', 'views': {}}, 'partner_id': {'change_default': True, 'context': u'', 'domain': [], 'relation': u'res.partner', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Supplier', 'type': u'many2one', 'views': {}}, 'shipped_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Received', 'type': u'float', 'views': {}}, 'state': {'help': u'The state of the purchase order or the quotation...ception of goods, the state becomes in exception.', 'readonly': True, 'select': True, 'selection': [(u'draft', u'Request for Quotation'), (u'wait', u'Waiting'), (u'confirmed', u'Confirmed'), (u'approved', u'Approved'), (u'except_picking', u'Shipping Exception'), (u'except_invoice', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', u'Cancelled')], 'string': u'Order Status', 'type': u'selection', 'views': {}}}, 'model': u'purchase.order', 'name': u'purchase.order.tree', 'toolbar': {'action': [], 'print': [{'attachment': False, 'attachment_use': False, 'auto': False, 'groups_id': [], 'header': True, 'id': 368, 'model': u'purchase.order', 'multi': False, 'name': u'Purchase Order', 'report_name': u'purchase.order', ...}, {'attachment': False, 'attachment_use': False, 'auto': False, 'groups_id': [], 'header': True, 'id': 367, 'model': u'purchase.order', 'multi': False, 'name': u'Request for Quotation', 'report_name': u'purchase.quotation', ...}], 'relate': [{'auto_refresh': 0, 'context': u'{}', 'domain': u"[('purchase_id', '=', active_id)]", 'groups_id': [], 'id': 370, 'limit': 0, 'name': u'Packing', 'res_model': u'stock.picking', 'src_model': u'purchase.order', 'string': u'Packing', ...}]}, 'type': u'tree', 'view_id': 326}, ids=[1], domain=[], context={'_terp_view_name': u'Purchase Orders', 'active_id': 305, 'active_ids': [305], 'client': 'web', 'lang': u'ar_AR', 'tz': False}, **kw={'count': 0, 'editable': True, 'limit': 80, 'nolinks': 1, 'offset': 0, 'selectable': 2, 'view_mode': [u'tree', u'form', u'calendar', u'graph']})
  180 
  181         self.values = copy.deepcopy(data)
  182         self.headers, self.hiddens, self.data, self.field_total, self.buttons = self.parse(root, fields, data)
  183 
  184         for k, v in self.field_total.items():
self = List, self.headers = None, self.hiddens = [], self.data = None, self.field_total = {}, self.buttons = [], self.parse = <bound method List.parse of List>, root = <DOM Element: tree at 0x51911c0>, fields = {'amount_untaxed': {'digits': (16, 2), 'readonly': 1, 'string': u'Untaxed Amount', 'type': u'float', 'views': {}}, 'date_order': {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'views': {}}, 'invoiced_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Invoiced', 'type': u'float', 'views': {}}, 'location_id': {'context': u'', 'domain': [(u'usage', u'<>', u'view')], 'relation': u'stock.location', 'required': True, 'string': u'Destination', 'type': u'many2one', 'views': {}}, 'minimum_planned_date': {'digits': (16, 2), 'help': u"This is computed as the minimum scheduled date of all purchase order lines' products.", 'string': u'Planned Date', 'type': u'datetime', 'views': {}}, 'name': {'name': u'name', 'required': True, 'select': True, 'size': 64, 'string': u'Reference', 'type': u'char', 'views': {}}, 'origin': {'help': u'Reference of the document that generated this purchase order request.', 'size': 64, 'string': u'Origin', 'type': u'char', 'views': {}}, 'partner_id': {'change_default': True, 'context': u'', 'domain': [], 'relation': u'res.partner', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Supplier', 'type': u'many2one', 'views': {}}, 'shipped_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Received', 'type': u'float', 'views': {}}, 'state': {'help': u'The state of the purchase order or the quotation...ception of goods, the state becomes in exception.', 'readonly': True, 'select': True, 'selection': [(u'draft', u'Request for Quotation'), (u'wait', u'Waiting'), (u'confirmed', u'Confirmed'), (u'approved', u'Approved'), (u'except_picking', u'Shipping Exception'), (u'except_invoice', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', u'Cancelled')], 'string': u'Order Status', 'type': u'selection', 'views': {}}}, data = [{'amount_untaxed': 1164.0, 'date_order': u'2010-08-15', 'id': 1, 'invoiced_rate': 100.0, 'location_id': (11, u'Stock'), 'minimum_planned_date': u'2010-08-17 00:00:00', 'name': Char, 'origin': False, 'partner_id': (2, u'ASUStek'), 'shipped_rate': 100.0, ...}]
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\listgrid.py in parse(self=List, root=<DOM Element: tree at 0x51911c0>, fields={'amount_untaxed': {'digits': (16, 2), 'readonly': 1, 'string': u'Untaxed Amount', 'type': u'float', 'views': {}}, 'date_order': {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'views': {}}, 'invoiced_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Invoiced', 'type': u'float', 'views': {}}, 'location_id': {'context': u'', 'domain': [(u'usage', u'<>', u'view')], 'relation': u'stock.location', 'required': True, 'string': u'Destination', 'type': u'many2one', 'views': {}}, 'minimum_planned_date': {'digits': (16, 2), 'help': u"This is computed as the minimum scheduled date of all purchase order lines' products.", 'string': u'Planned Date', 'type': u'datetime', 'views': {}}, 'name': {'name': u'name', 'required': True, 'select': True, 'size': 64, 'string': u'Reference', 'type': u'char', 'views': {}}, 'origin': {'help': u'Reference of the document that generated this purchase order request.', 'size': 64, 'string': u'Origin', 'type': u'char', 'views': {}}, 'partner_id': {'change_default': True, 'context': u'', 'domain': [], 'relation': u'res.partner', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Supplier', 'type': u'many2one', 'views': {}}, 'shipped_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Received', 'type': u'float', 'views': {}}, 'state': {'help': u'The state of the purchase order or the quotation...ception of goods, the state becomes in exception.', 'readonly': True, 'select': True, 'selection': [(u'draft', u'Request for Quotation'), (u'wait', u'Waiting'), (u'confirmed', u'Confirmed'), (u'approved', u'Approved'), (u'except_picking', u'Shipping Exception'), (u'except_invoice', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', u'Cancelled')], 'string': u'Order Status', 'type': u'selection', 'views': {}}}, data=[{'amount_untaxed': 1164.0, 'date_order': u'2010-08-15', 'id': 1, 'invoiced_rate': 100.0, 'location_id': (11, u'Stock'), 'minimum_planned_date': u'2010-08-17 00:00:00', 'name': Char, 'origin': False, 'partner_id': (2, u'ASUStek'), 'shipped_rate': 100.0, ...}])
  353 
  354                         row_value = values[i]
  355                         cell = CELLTYPES[kind](value=row_value.get(name, False), **fields[name])
  356 
  357                         for color, expr in self.colors.items():
cell = Char, global CELLTYPES = {'boolean': <class 'openerp.widgets.listgrid.Boolean'>, 'char': <class 'openerp.widgets.listgrid.Char'>, 'date': <class 'openerp.widgets.listgrid.DateTime'>, 'datetime': <class 'openerp.widgets.listgrid.DateTime'>, 'float': <class 'openerp.widgets.listgrid.Float'>, 'float_time': <class 'openerp.widgets.listgrid.FloatTime'>, 'integer': <class 'openerp.widgets.listgrid.Int'>, 'many2many': <class 'openerp.widgets.listgrid.M2M'>, 'many2one': <class 'openerp.widgets.listgrid.M2O'>, 'one2many': <class 'openerp.widgets.listgrid.O2M'>, ...}, kind = u'date', value undefined, row_value = {'amount_untaxed': 1164.0, 'date_order': u'2010-08-15', 'id': 1, 'invoiced_rate': 100.0, 'location_id': (11, u'Stock'), 'minimum_planned_date': u'2010-08-17 00:00:00', 'name': u'PURCHASE-SMOKE-TEST-1', 'origin': False, 'partner_id': (2, u'ASUStek'), 'shipped_rate': 100.0, ...}, row_value.get = <built-in method get of dict object at 0x04EE1420>, name = u'date_order', builtin False = False, fields = {'amount_untaxed': {'digits': (16, 2), 'readonly': 1, 'string': u'Untaxed Amount', 'type': u'float', 'views': {}}, 'date_order': {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'views': {}}, 'invoiced_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Invoiced', 'type': u'float', 'views': {}}, 'location_id': {'context': u'', 'domain': [(u'usage', u'<>', u'view')], 'relation': u'stock.location', 'required': True, 'string': u'Destination', 'type': u'many2one', 'views': {}}, 'minimum_planned_date': {'digits': (16, 2), 'help': u"This is computed as the minimum scheduled date of all purchase order lines' products.", 'string': u'Planned Date', 'type': u'datetime', 'views': {}}, 'name': {'name': u'name', 'required': True, 'select': True, 'size': 64, 'string': u'Reference', 'type': u'char', 'views': {}}, 'origin': {'help': u'Reference of the document that generated this purchase order request.', 'size': 64, 'string': u'Origin', 'type': u'char', 'views': {}}, 'partner_id': {'change_default': True, 'context': u'', 'domain': [], 'relation': u'res.partner', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Supplier', 'type': u'many2one', 'views': {}}, 'shipped_rate': {'digits': (16, 2), 'readonly': 1, 'string': u'Received', 'type': u'float', 'views': {}}, 'state': {'help': u'The state of the purchase order or the quotation...ception of goods, the state becomes in exception.', 'readonly': True, 'select': True, 'selection': [(u'draft', u'Request for Quotation'), (u'wait', u'Waiting'), (u'confirmed', u'Confirmed'), (u'approved', u'Approved'), (u'except_picking', u'Shipping Exception'), (u'except_invoice', u'Invoice Exception'), (u'done', u'Done'), (u'cancel', u'Cancelled')], 'string': u'Order Status', 'type': u'selection', 'views': {}}}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\base\meta.py in wrapper(self=DateTime, *args=(), **kw={'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'value': u'2010-08-15', 'views': {}})
   38             self.__initstack.append(1)
   39 
   40         res = func(self, *args, **kw)
   41         try:
   42             self.__initstack.pop()
res undefined, func = <function __init__ at 0x01D87670>, self = DateTime, args = (), kw = {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'value': u'2010-08-15', 'views': {}}
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\listgrid.py in __init__(self=DateTime, **attrs={'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'value': u'2010-08-15', 'views': {}})
  389         self.attrs = attrs.copy()
  390 
  391         self.text = self.get_text()
  392         self.link = self.get_link()
  393 
self = DateTime, self.text = None, self.get_text = <bound method DateTime.get_text of DateTime>
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\widgets\listgrid.py in get_text(self=DateTime)
  531 
  532     def get_text(self):
  533         return format.format_datetime(self.value, kind=self.attrs.get('type', 'datetime'))
  534 
  535     def get_sortable_text(self):
global format = <module 'openerp.i18n.format' from 'C:\Program F...rp_web-5.0.12-py2.5.egg\openerp\i18n\format.pyc'>, format.format_datetime = <function format_datetime at 0x01B71570>, self = DateTime, self.value = u'2010-08-15', kind undefined, self.attrs = {'help': u'Date on which this document has been created.', 'name': u'date_order', 'required': True, 'states': {'approved': [(u'readonly', True)], 'confirmed': [(u'readonly', True)], 'done': [(u'readonly', True)]}, 'string': u'Date', 'type': u'date', 'value': u'2010-08-15', 'views': {}}, self.attrs.get = <built-in method get of dict object at 0x051B1660>
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\i18n\format.py in format_datetime(value=u'2010-08-15', kind=u'date', as_timetuple=False)
   88 
   89     server_format = DT_SERVER_FORMATS[kind]
   90     local_format = get_datetime_format(kind)
   91     
   92     if not value:
local_format undefined, global get_datetime_format = <function get_datetime_format at 0x01B71530>, kind = u'date'
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\openerp_web-5.0.12-py2.5.egg\openerp\i18n\format.py in get_datetime_format(kind=u'date')
   67 
   68     if kind != "time":
   69         fmt =  dates.get_date_format("short", locale=get_locale()).format
   70         fmt = _to_posix_format(fmt)
   71 
fmt = '%H:%M:%S', global dates = <module 'babel.dates' from 'C:\Program Files (x8...-packages\babel-0.9.5-py2.5.egg\babel\dates.pyc'>, dates.get_date_format = <function get_date_format at 0x01B10D70>, locale undefined, global get_locale = <function get_locale at 0x011945F0>, ).format undefined
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\babel-0.9.5-py2.5.egg\babel\dates.py in get_date_format(format='short', locale=u'ar_AR')
  133     :rtype: `DateTimePattern`
  134     """
  135     return Locale.parse(locale).date_formats[format]
  136 
  137 def get_datetime_format(format='medium', locale=LC_TIME):
global Locale = <class 'babel.core.Locale'>, Locale.parse = <bound method type.parse of <class 'babel.core.Locale'>>, locale = u'ar_AR', ).date_formats undefined, format = 'short'
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\babel-0.9.5-py2.5.egg\babel\core.py in parse(cls=<class 'babel.core.Locale'>, identifier=u'ar_AR', sep='_')
  210         """
  211         if isinstance(identifier, basestring):
  212             return cls(*parse_locale(identifier, sep=sep))
  213         return identifier
  214     parse = classmethod(parse)
cls = <class 'babel.core.Locale'>, global parse_locale = <function parse_locale at 0x01AF80F0>, identifier = u'ar_AR', sep = '_'
 C:\Program Files (x86)\OpenERP AllInOne\Web\python25\lib\site-packages\babel-0.9.5-py2.5.egg\babel\core.py in __init__(self=<Locale "ar_AR">, language=u'ar', territory=u'AR', script=None, variant=None)
  135         identifier = str(self)
  136         if not localedata.exists(identifier):
  137             raise UnknownLocaleError(identifier)
  138 
  139     def default(cls, category=None, aliases=LOCALE_ALIASES):
global UnknownLocaleError = <class 'babel.core.UnknownLocaleError'>, identifier = 'ar_AR'

<class 'babel.core.UnknownLocaleError'>: unknown locale 'ar_AR'
      args = ("unknown locale 'ar_AR'",)
      identifier = 'ar_AR'
      message = "unknown locale 'ar_AR'"