Hello, any progress / hints on this?
I really have to fix this, because I removed this module from the live db, because it overwrote the analytic account field in the invoice lines -- 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/717561 Title: [6.0.1] removing account_analytic_plans breaks "journal items" view Status in OpenERP Server: Confirmed Bug description: Standard stable 6.0.1 package for server, addons and web server. When I remove the account_analytic_plans module, I can no longer access the menu Accounting/entries/Journal Items (and others). In GTK client, no message (which should deserve by itself a bug...), menu just dont open. In web client, I get the following message: <type 'exceptions.KeyError'> Python 2.6.5: /usr/bin/python Sat Feb 12 12:26:59 2011 A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object>, path_info='/openerp/execute') 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 '/usr/local/lib/python2..../CherryPy-3.1.2-py2.6.egg/cherrypy/__init__.pyc'>, cherrypy.response = <cherrypy._ThreadLocalProxy object>, cherrypy.response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object> /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.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', 'execute'), self.kwargs = {'action': {'auto_refresh': 0, 'auto_search': True, 'context': u"{'search_default_posted': 1}", 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".', 'id': 177, 'limit': 80, ...}, 'data': {'context': {'client': 'web', 'department_id': False, 'lang': u'en_US', 'project_id': False, 'search_default_posted': 1, 'section_id': False, 'tz': False}, 'id': 191, 'ids': [191], 'model': 'ir.ui.menu', 'report_type': 'pdf'}, 'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 'execute'), **kw={'_': '1297484856259', 'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'}) 180 raise cherrypy.HTTPError(405) 181 182 res = func(*args, **kw) 183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params): 184 cherrypy.response.headers['Content-Type'] = 'text/javascript' global res = '/usr/local/lib/python2.6/dist-packages/openerp_w...dons/openerp/widgets/templates/search/search.mako', func = <function default>, args = (<openobject.controllers._root.Root object>, 'openerp', 'execute'), kw = {'_': '1297484856259', 'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 'execute'), **kw={'_': '1297484856259', 'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'}) 85 request.handler = cherrypy.NotFound() 86 87 return request.handler() 88 89 def find_handler(self): request = <cherrypy._ThreadLocalProxy object>, request.handler = <cherrypy._cpdispatch.LateParamPageHandler object> /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.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 index>, self.args = (), self.kwargs = {'action': {'auto_refresh': 0, 'auto_search': True, 'context': u"{'search_default_posted': 1}", 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".', 'id': 177, 'limit': 80, ...}, 'data': {'context': {'client': 'web', 'department_id': False, 'lang': u'en_US', 'project_id': False, 'search_default_posted': 1, 'section_id': False, 'tz': False}, 'id': 191, 'ids': [191], 'model': 'ir.ui.menu', 'report_type': 'pdf'}, 'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'}) 110 # User is logged in; allow access 111 clear_login_fields(kw) 112 return fn(*args, **kw) 113 else: 114 action = kw.get('login_action', '') fn = <bound method Execute.index of <openerp.controllers.execute.Execute object>>, args = (), kw = {'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.execute.Execute object>,), **kw={'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'}) 180 raise cherrypy.HTTPError(405) 181 182 res = func(*args, **kw) 183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params): 184 cherrypy.response.headers['Content-Type'] = 'text/javascript' global res = '/usr/local/lib/python2.6/dist-packages/openerp_w...dons/openerp/widgets/templates/search/search.mako', func = <function index>, args = (<openerp.controllers.execute.Execute object>,), kw = {'payload': 'eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm'} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/execute.py in index(self=<openerp.controllers.execute.Execute object>, payload='eJxtU02PEzEM_StWL9mVqooKrRa47QGk5cIKygmtRmnG0wYy...hjdU5biPrBRsmzvN_vyyL6l1IdauFb7sJUGZGkNfj8S_ys3Bm') 17 zlib.decompress( 18 base64.urlsafe_b64decode(payload))) 19 action, data = decoded_payload['action'], decoded_payload['data'] 20 cherrypy.request.params.update(decoded_payload) 21 return actions.execute(action, **data) global actions = <module 'openerp.controllers.actions' from '/usr...y2.6.egg/addons/openerp/controllers/actions.pyc'>, actions.execute = <function execute>, action = {'auto_refresh': 0, 'auto_search': True, 'context': u"{'search_default_posted': 1}", 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".', 'id': 177, 'limit': 80, ...}, data = {'context': {'client': 'web', 'department_id': False, 'lang': u'en_US', 'project_id': False, 'search_default_posted': 1, 'section_id': False, 'tz': False}, 'id': 191, 'ids': [191], 'model': 'ir.ui.menu', 'report_type': 'pdf'} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/actions.py in execute(action={'auto_refresh': 0, 'auto_search': True, 'context': u"{'search_default_posted': 1}", 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".', 'id': 177, 'limit': 80, ...}, **data={'context': {'client': 'web', 'department_id': False, 'lang': u'en_US', 'project_id': False, 'search_default_posted': 1, 'section_id': False, 'tz': False}, 'id': 191, 'ids': [191], 'limit': 20, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'account.move.line', 'search_view': None, 'view_mode': u'tree,form', ...}) 380 381 action_executor = ACTIONS_BY_TYPE[action['type']] 382 return action_executor(action, data) 383 384 def execute_url(**data): action_executor = <function act_window>, action = {'auto_refresh': 0, 'auto_search': True, 'context': u"{'search_default_posted': 1}", 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".', 'id': 177, 'limit': 80, ...}, data = {'context': {'client': 'web', 'department_id': False, 'lang': u'en_US', 'project_id': False, 'search_default_posted': 1, 'section_id': False, 'tz': False}, 'id': 191, 'ids': [191], 'limit': 20, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'account.move.line', 'search_view': None, 'view_mode': u'tree,form', ...} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/actions.py in act_window(action={'auto_refresh': 0, 'auto_search': True, 'context': u"{'search_default_posted': 1}", 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".', 'id': 177, 'limit': 80, ...}, data={'context': {'client': 'web', 'department_id': False, 'lang': u'en_US', 'project_id': False, 'search_default_posted': 1, 'section_id': False, 'tz': False}, 'id': 191, 'ids': [191], 'limit': 20, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'account.move.line', 'search_view': None, 'view_mode': u'tree,form', ...}) 268 search_view=data['search_view'], 269 context_menu=data.get('context_menu'), 270 display_menu_tip=display_menu_tip) 271 272 def server(action, data): display_menu_tip = u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".' /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/actions.py in execute_window(view_ids=[False, False], model=u'account.move.line', res_id=None, domain=[], view_type=u'form', context={'_terp_view_name': u'Journal Items', 'active_id': 191, 'active_ids': [191], 'active_model': 'ir.ui.menu', 'client': 'web', 'department_id': False, 'journal_id': None, 'lang': u'en_US', 'normal_view': False, 'period_id': None, ...}, mode=[u'tree', u'form'], name=u'Journal Items', target=u'current', limit=20, search_view=None, context_menu=None, display_menu_tip=u'This view can be used by accountants in order to...is account and the counterpart "Account Payable".') 83 params.view_mode=mode 84 85 return Form().create(params) 86 87 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, ..._view_ids': [False, False], 'context_menu': None} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/utils.py in wrapper(*args=({'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None},), **kw={}) 110 # User is logged in; allow access 111 clear_login_fields(kw) 112 return fn(*args, **kw) 113 else: 114 action = kw.get('login_action', '') fn = <bound method Form.create of <openerp.controllers.form.Form object>>, args = ({'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None},), kw = {} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.form.Form object>, {'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}), **kw={}) 180 raise cherrypy.HTTPError(405) 181 182 res = func(*args, **kw) 183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params): 184 cherrypy.response.headers['Content-Type'] = 'text/javascript' global res = '/usr/local/lib/python2.6/dist-packages/openerp_w...dons/openerp/widgets/templates/search/search.mako', func = <function create>, args = (<openerp.controllers.form.Form object>, {'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}), kw = {} /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/form.py in create(self=<openerp.controllers.form.Form object>, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}, tg_errors=None) 193 if params.view_type == 'tree': 194 params.editable = True 195 form = self.create_form(params, tg_errors) 196 197 if not tg_errors: form undefined, self = <openerp.controllers.form.Form object>, self.create_form = <bound method Form.create_form of <openerp.controllers.form.Form object>>, params = {'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}, tg_errors = None /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/controllers/form.py in create_form(self=<openerp.controllers.form.Form object>, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}, tg_errors=None) 184 params.view_type = params.view_type or params.view_mode[0] 185 186 return tw.form_view.ViewForm(params, name="view_form", action="/openerp/form/save") 187 188 @expose(template="/openerp/controllers/templates/form.mako") global tw = <module 'openerp.widgets' from '/usr/local/lib/p...1-py2.6.egg/addons/openerp/widgets/__init__.pyc'>, tw.form_view = <module 'openerp.widgets.form_view' from '/usr/l...-py2.6.egg/addons/openerp/widgets/form_view.pyc'>, tw.form_view.ViewForm = <class 'openerp.widgets.form_view.ViewForm'>, params = {'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}, name undefined, action undefined /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/form_view.py in __init__(self=ViewForm, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}, **kw={'action': '/openerp/form/save', 'name': 'view_form'}) 88 89 self.screen = Screen(prefix='', hastoolbar=True, hassubmenu=True, editable=editable, readonly=readonly, 90 selectable=params.selectable or 2) 91 92 if self.screen.widget and self.screen.view_type in ['form', 'tree']: selectable undefined, params = {'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}, params.selectable = None /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/screen.py in __init__(self=Screen, params={'_terp_view_type': u'tree', '_terp_offset': 0, ..._view_ids': [False, False], 'context_menu': None}, prefix='', name='', views_preloaded={}, hastoolbar=True, hassubmenu=True, editable=True, readonly=False, selectable=2, nolinks=1, **kw={}) 104 self.kalendar = params.kalendar 105 if self.view_mode: 106 self.add_view_id(self.view_id, self.view_type) 107 108 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 = 998, self.view_type = u'tree' /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/screen.py in add_view_id(self=Screen, view_id=False, view_type=u'tree') 120 view = cache.fields_view_get(self.model, view_id or False, view_type, ctx, self.hastoolbar, self.hassubmenu) 121 122 self.add_view(view, view_type) 123 124 def add_view(self, view, view_type='form'): self = Screen, self.add_view = <bound method Screen.add_view of Screen>, view = {'arch': u'<?xml version="1.0"?>\n<tree string="Accounting E..., 19, 17, 16, 18, 5, 6, 7, 4, 3, 1, 2]"/>\n</tree>', 'field_parent': False, 'fields': {'account_id': {'context': {}, 'domain': u"[('journal_id', '=', 2),('type','<>','view'), ('type','<>','closed')]", 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'account_id', 'on_change': u'onchange_account_id(account_id, partner_id)', 'relation': u'account.account', 'required': True, 'select': 2, 'selectable': True, 'string': u'Account', ...}, 'account_tax_id': {'context': {}, 'domain': [], 'relation': u'account.tax', 'selectable': True, 'string': u'Tax', 'type': u'many2one'}, 'analytic_account_id': {'context': {}, 'domain': [], 'relation': u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 'type': u'many2one'}, 'credit': {'digits': (16, 2), 'selectable': True, 'string': u'Credit', 'type': u'float'}, 'date': {'digits': (16, 2), 'fnct_inv': u'_fnct_write', 'fnct_inv_arg': (u'move_id', u'date'), 'fnct_search': u'_fnct_search', 'func_method': True, 'func_obj': False, 'function': u'_fnct_read', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'date', 'on_change': u'onchange_date(date)', ...}, 'date_maturity': {'help': u'This field is used for payable and receivable jo... put the limit date for the payment of this line.', 'invisible': u"context.get('visible_id') not in [19, 17, 16, 18, 4, 3, 1, 2]", 'name': u'date_maturity', 'select': True, 'selectable': True, 'string': u'Due date', 'type': u'date'}, 'debit': {'digits': (16, 2), 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'debit', 'selectable': True, 'string': u'Debit', 'sum': u'Total debit', 'type': u'float'}, 'journal_id': {'context': u"{'journal_id': journal_id}", 'domain': [], 'invisible': u"context.get('journal_id', False)", 'name': u'journal_id', 'relation': u'account.journal', 'required': True, 'select': 1, 'selectable': True, 'string': u'Journal', 'type': u'many2one'}, 'move_id': {'context': {}, 'domain': [], 'help': u'The move of this entry line.', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'move_id', 'relation': u'account.move', 'required': u'False', 'select': 2, 'selectable': True, 'string': u'Move', ...}, 'name': {'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'name', 'required': True, 'selectable': True, 'size': 64, 'string': u'Name', 'type': u'char'}, ...}, 'model': u'account.move.line', 'name': u'account.move.line.tree', 'submenu': False, 'toolbar': {'action': [{'auto_refresh': 0, 'auto_search': True, 'context': u"{'record_id' : active_id}", 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': u'This wizard will validate all journal entries of...s are validated, you can not update them anymore.', 'id': 246, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 247, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 256, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u"{'record_id':active_id}", 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 257, 'limit': 80, ...}], 'print': [], 'relate': []}, 'type': u'tree', 'view_id': 998}, view_type = u'tree' /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/screen.py in add_view(self=Screen, view={'arch': u'<?xml version="1.0"?>\n<tree string="Accounting E..., 19, 17, 16, 18, 5, 6, 7, 4, 3, 1, 2]"/>\n</tree>', 'field_parent': False, 'fields': {'account_id': {'context': {}, 'domain': u"[('journal_id', '=', 2),('type','<>','view'), ('type','<>','closed')]", 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'account_id', 'on_change': u'onchange_account_id(account_id, partner_id)', 'relation': u'account.account', 'required': True, 'select': 2, 'selectable': True, 'string': u'Account', ...}, 'account_tax_id': {'context': {}, 'domain': [], 'relation': u'account.tax', 'selectable': True, 'string': u'Tax', 'type': u'many2one'}, 'analytic_account_id': {'context': {}, 'domain': [], 'relation': u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 'type': u'many2one'}, 'credit': {'digits': (16, 2), 'selectable': True, 'string': u'Credit', 'type': u'float'}, 'date': {'digits': (16, 2), 'fnct_inv': u'_fnct_write', 'fnct_inv_arg': (u'move_id', u'date'), 'fnct_search': u'_fnct_search', 'func_method': True, 'func_obj': False, 'function': u'_fnct_read', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'date', 'on_change': u'onchange_date(date)', ...}, 'date_maturity': {'help': u'This field is used for payable and receivable jo... put the limit date for the payment of this line.', 'invisible': u"context.get('visible_id') not in [19, 17, 16, 18, 4, 3, 1, 2]", 'name': u'date_maturity', 'select': True, 'selectable': True, 'string': u'Due date', 'type': u'date'}, 'debit': {'digits': (16, 2), 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'debit', 'selectable': True, 'string': u'Debit', 'sum': u'Total debit', 'type': u'float'}, 'journal_id': {'context': u"{'journal_id': journal_id}", 'domain': [], 'invisible': u"context.get('journal_id', False)", 'name': u'journal_id', 'relation': u'account.journal', 'required': True, 'select': 1, 'selectable': True, 'string': u'Journal', 'type': u'many2one'}, 'move_id': {'context': {}, 'domain': [], 'help': u'The move of this entry line.', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'move_id', 'relation': u'account.move', 'required': u'False', 'select': 2, 'selectable': True, 'string': u'Move', ...}, 'name': {'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'name', 'required': True, 'selectable': True, 'size': 64, 'string': u'Name', 'type': u'char'}, ...}, 'model': u'account.move.line', 'name': u'account.move.line.tree', 'submenu': False, 'toolbar': {'action': [{'auto_refresh': 0, 'auto_search': True, 'context': u"{'record_id' : active_id}", 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': u'This wizard will validate all journal entries of...s are validated, you can not update them anymore.', 'id': 246, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 247, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 256, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u"{'record_id':active_id}", 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 257, 'limit': 80, ...}], 'print': [], 'relate': []}, 'type': u'tree', 'view_id': 998}, view_type=u'tree') 128 129 from _views import get_view_widget 130 self.widget = get_view_widget(view_type, self) 131 132 self.string = (self.widget or '') and self.widget.string self = Screen, self.widget = None, get_view_widget = <function get_view_widget>, view_type = u'tree' /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/_views.py in get_view_widget(kind=u'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 /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/_views.py in __call__(self=<openerp.widgets._views.ListView object>, screen=Screen) 116 count=screen.count, nolinks=screen.link, 117 m2m=screen.m2m, o2m=screen.o2m, 118 default_data=screen.default_value) 119 120 screen.ids = widget.ids default_data undefined, screen = Screen, screen.default_value = [] /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/listgrid.py in __init__(self=List, name='_terp_list', model=u'account.move.line', view={'arch': u'<?xml version="1.0"?>\n<tree string="Accounting E..., 19, 17, 16, 18, 5, 6, 7, 4, 3, 1, 2]"/>\n</tree>', 'field_parent': False, 'fields': {'account_id': {'context': {}, 'domain': u"[('journal_id', '=', 2),('type','<>','view'), ('type','<>','closed')]", 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'account_id', 'on_change': u'onchange_account_id(account_id, partner_id)', 'relation': u'account.account', 'required': True, 'select': 2, 'selectable': True, 'string': u'Account', ...}, 'account_tax_id': {'context': {}, 'domain': [], 'relation': u'account.tax', 'selectable': True, 'string': u'Tax', 'type': u'many2one'}, 'analytic_account_id': {'context': {}, 'domain': [], 'relation': u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 'type': u'many2one'}, 'credit': {'digits': (16, 2), 'selectable': True, 'string': u'Credit', 'type': u'float'}, 'date': {'digits': (16, 2), 'fnct_inv': u'_fnct_write', 'fnct_inv_arg': (u'move_id', u'date'), 'fnct_search': u'_fnct_search', 'func_method': True, 'func_obj': False, 'function': u'_fnct_read', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'date', 'on_change': u'onchange_date(date)', ...}, 'date_maturity': {'help': u'This field is used for payable and receivable jo... put the limit date for the payment of this line.', 'invisible': u"context.get('visible_id') not in [19, 17, 16, 18, 4, 3, 1, 2]", 'name': u'date_maturity', 'select': True, 'selectable': True, 'string': u'Due date', 'type': u'date'}, 'debit': {'digits': (16, 2), 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'debit', 'selectable': True, 'string': u'Debit', 'sum': u'Total debit', 'type': u'float'}, 'journal_id': {'context': u"{'journal_id': journal_id}", 'domain': [], 'invisible': u"context.get('journal_id', False)", 'name': u'journal_id', 'relation': u'account.journal', 'required': True, 'select': 1, 'selectable': True, 'string': u'Journal', 'type': u'many2one'}, 'move_id': {'context': {}, 'domain': [], 'help': u'The move of this entry line.', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'move_id', 'relation': u'account.move', 'required': u'False', 'select': 2, 'selectable': True, 'string': u'Move', ...}, 'name': {'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'name', 'required': True, 'selectable': True, 'size': 64, 'string': u'Name', 'type': u'char'}, ...}, 'model': u'account.move.line', 'name': u'account.move.line.tree', 'submenu': False, 'toolbar': {'action': [{'auto_refresh': 0, 'auto_search': True, 'context': u"{'record_id' : active_id}", 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': u'This wizard will validate all journal entries of...s are validated, you can not update them anymore.', 'id': 246, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 247, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 256, 'limit': 80, ...}, {'auto_refresh': 0, 'auto_search': True, 'context': u"{'record_id':active_id}", 'display_menu_tip': True, 'domain': False, 'filter': False, 'groups_id': [], 'help': False, 'id': 257, 'limit': 80, ...}], 'print': [], 'relate': []}, 'type': u'tree', 'view_id': 998}, ids=[90, 89], domain=[], context={'_terp_view_name': u'Journal Items', 'active_id': 191, 'active_ids': [191], 'active_model': 'ir.ui.menu', 'client': 'web', 'department_id': False, 'journal_id': None, 'lang': u'en_US', 'normal_view': False, 'period_id': None, ...}, **kw={'count': 0, 'default_data': [], 'editable': True, 'limit': 20, 'm2m': 0, 'nolinks': 1, 'o2m': 0, 'offset': 0, 'selectable': 2, 'view_mode': [u'tree', u'form']}) 200 201 self.values = copy.deepcopy(data) 202 self.headers, self.hiddens, self.data, self.field_total, self.buttons = self.parse(root, fields, data) 203 204 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>, fields = {'account_id': {'context': {}, 'domain': u"[('journal_id', '=', 2),('type','<>','view'), ('type','<>','closed')]", 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'account_id', 'on_change': u'onchange_account_id(account_id, partner_id)', 'relation': u'account.account', 'required': True, 'select': 2, 'selectable': True, 'string': u'Account', ...}, 'account_tax_id': {'context': {}, 'domain': [], 'relation': u'account.tax', 'selectable': True, 'string': u'Tax', 'type': u'many2one'}, 'analytic_account_id': {'context': {}, 'domain': [], 'relation': u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 'type': u'many2one'}, 'credit': {'digits': (16, 2), 'selectable': True, 'string': u'Credit', 'type': u'float'}, 'date': {'digits': (16, 2), 'fnct_inv': u'_fnct_write', 'fnct_inv_arg': (u'move_id', u'date'), 'fnct_search': u'_fnct_search', 'func_method': True, 'func_obj': False, 'function': u'_fnct_read', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'date', 'on_change': u'onchange_date(date)', ...}, 'date_maturity': {'help': u'This field is used for payable and receivable jo... put the limit date for the payment of this line.', 'invisible': u"context.get('visible_id') not in [19, 17, 16, 18, 4, 3, 1, 2]", 'name': u'date_maturity', 'select': True, 'selectable': True, 'string': u'Due date', 'type': u'date'}, 'debit': {'digits': (16, 2), 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'debit', 'selectable': True, 'string': u'Debit', 'sum': u'Total debit', 'type': u'float'}, 'journal_id': {'context': u"{'journal_id': journal_id}", 'domain': [], 'invisible': u"context.get('journal_id', False)", 'name': u'journal_id', 'relation': u'account.journal', 'required': True, 'select': 1, 'selectable': True, 'string': u'Journal', 'type': u'many2one'}, 'move_id': {'context': {}, 'domain': [], 'help': u'The move of this entry line.', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'move_id', 'relation': u'account.move', 'required': u'False', 'select': 2, 'selectable': True, 'string': u'Move', ...}, 'name': {'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'name', 'required': True, 'selectable': True, 'size': 64, 'string': u'Name', 'type': u'char'}, ...}, data = [{'account_id': M2O, 'account_tax_id': False, 'analytic_account_id': False, 'credit': 1900.0, 'date': DateTime, 'date_maturity': Hidden, 'debit': Float, 'id': 90, 'journal_id': M2O, 'move_id': M2O, ...}, {'account_id': M2O, 'account_tax_id': False, 'analytic_account_id': False, 'credit': 0.0, 'date': DateTime, 'date_maturity': Hidden, 'debit': Float, 'id': 89, 'journal_id': M2O, 'move_id': M2O, ...}] /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.1-py2.6.egg/addons/openerp/widgets/listgrid.py in parse(self=List, root=<DOM Element: tree>, fields={'account_id': {'context': {}, 'domain': u"[('journal_id', '=', 2),('type','<>','view'), ('type','<>','closed')]", 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'account_id', 'on_change': u'onchange_account_id(account_id, partner_id)', 'relation': u'account.account', 'required': True, 'select': 2, 'selectable': True, 'string': u'Account', ...}, 'account_tax_id': {'context': {}, 'domain': [], 'relation': u'account.tax', 'selectable': True, 'string': u'Tax', 'type': u'many2one'}, 'analytic_account_id': {'context': {}, 'domain': [], 'relation': u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 'type': u'many2one'}, 'credit': {'digits': (16, 2), 'selectable': True, 'string': u'Credit', 'type': u'float'}, 'date': {'digits': (16, 2), 'fnct_inv': u'_fnct_write', 'fnct_inv_arg': (u'move_id', u'date'), 'fnct_search': u'_fnct_search', 'func_method': True, 'func_obj': False, 'function': u'_fnct_read', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'date', 'on_change': u'onchange_date(date)', ...}, 'date_maturity': {'help': u'This field is used for payable and receivable jo... put the limit date for the payment of this line.', 'invisible': u"context.get('visible_id') not in [19, 17, 16, 18, 4, 3, 1, 2]", 'name': u'date_maturity', 'select': True, 'selectable': True, 'string': u'Due date', 'type': u'date'}, 'debit': {'digits': (16, 2), 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'debit', 'selectable': True, 'string': u'Debit', 'sum': u'Total debit', 'type': u'float'}, 'journal_id': {'context': u"{'journal_id': journal_id}", 'domain': [], 'invisible': u"context.get('journal_id', False)", 'name': u'journal_id', 'relation': u'account.journal', 'required': True, 'select': 1, 'selectable': True, 'string': u'Journal', 'type': u'many2one'}, 'move_id': {'context': {}, 'domain': [], 'help': u'The move of this entry line.', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'move_id', 'relation': u'account.move', 'required': u'False', 'select': 2, 'selectable': True, 'string': u'Move', ...}, 'name': {'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'name', 'required': True, 'selectable': True, 'size': 64, 'string': u'Name', 'type': u'char'}, ...}, data=[{'account_id': M2O, 'account_tax_id': False, 'analytic_account_id': False, 'credit': 1900.0, 'date': DateTime, 'date_maturity': Hidden, 'debit': Float, 'id': 90, 'journal_id': M2O, 'move_id': M2O, ...}, {'account_id': M2O, 'account_tax_id': False, 'analytic_account_id': False, 'credit': 0.0, 'date': DateTime, 'date_maturity': Hidden, 'debit': Float, 'id': 89, 'journal_id': M2O, 'move_id': M2O, ...}]) 371 372 try: 373 fields[name].update(attrs) 374 except: 375 print "-"*30,"\n malformed tag for:", attrs fields = {'account_id': {'context': {}, 'domain': u"[('journal_id', '=', 2),('type','<>','view'), ('type','<>','closed')]", 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'account_id', 'on_change': u'onchange_account_id(account_id, partner_id)', 'relation': u'account.account', 'required': True, 'select': 2, 'selectable': True, 'string': u'Account', ...}, 'account_tax_id': {'context': {}, 'domain': [], 'relation': u'account.tax', 'selectable': True, 'string': u'Tax', 'type': u'many2one'}, 'analytic_account_id': {'context': {}, 'domain': [], 'relation': u'account.analytic.account', 'selectable': True, 'string': u'Analytic Account', 'type': u'many2one'}, 'credit': {'digits': (16, 2), 'selectable': True, 'string': u'Credit', 'type': u'float'}, 'date': {'digits': (16, 2), 'fnct_inv': u'_fnct_write', 'fnct_inv_arg': (u'move_id', u'date'), 'fnct_search': u'_fnct_search', 'func_method': True, 'func_obj': False, 'function': u'_fnct_read', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'date', 'on_change': u'onchange_date(date)', ...}, 'date_maturity': {'help': u'This field is used for payable and receivable jo... put the limit date for the payment of this line.', 'invisible': u"context.get('visible_id') not in [19, 17, 16, 18, 4, 3, 1, 2]", 'name': u'date_maturity', 'select': True, 'selectable': True, 'string': u'Due date', 'type': u'date'}, 'debit': {'digits': (16, 2), 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'debit', 'selectable': True, 'string': u'Debit', 'sum': u'Total debit', 'type': u'float'}, 'journal_id': {'context': u"{'journal_id': journal_id}", 'domain': [], 'invisible': u"context.get('journal_id', False)", 'name': u'journal_id', 'relation': u'account.journal', 'required': True, 'select': 1, 'selectable': True, 'string': u'Journal', 'type': u'many2one'}, 'move_id': {'context': {}, 'domain': [], 'help': u'The move of this entry line.', 'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'move_id', 'relation': u'account.move', 'required': u'False', 'select': 2, 'selectable': True, 'string': u'Move', ...}, 'name': {'invisible': u"context.get('visible_id') not in [15, 19, 17, 16, 18, 9, 5, 6, 7, 4, 3, 1, 2, None]", 'name': u'name', 'required': True, 'selectable': True, 'size': 64, 'string': u'Name', 'type': u'char'}, ...}, name = u'analytics_id', ].update undefined, attrs = {'invisible': u"context.get('visible_id') not in [9]", 'name': u'analytics_id'} <type 'exceptions.KeyError'>: u'analytics_id' args = (u'analytics_id',) message = u'analytics_id' After investigating, it seems that a record "analytics_id" is created in account_journal_column that is not removed when removing the module. removing the record manually in postgres seems to do the trick _______________________________________________ Mailing list: https://launchpad.net/~c2c-oerpscenario Post to : [email protected] Unsubscribe : https://launchpad.net/~c2c-oerpscenario More help : https://help.launchpad.net/ListHelp

