You may re-open this bug if problem is still appears.
--
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'"
_______________________________________________
Mailing list: https://launchpad.net/~c2c-oerpscenario
Post to : [email protected]
Unsubscribe : https://launchpad.net/~c2c-oerpscenario
More help : https://help.launchpad.net/ListHelp