diff --git a/openerp/addons/base/base_menu.xml b/openerp/addons/base/base_menu.xml index 0f05c024d5c..33b49c97ec7 100644 --- a/openerp/addons/base/base_menu.xml +++ b/openerp/addons/base/base_menu.xml @@ -7,7 +7,7 @@ - + diff --git a/openerp/addons/base/ir/ir.xml b/openerp/addons/base/ir/ir.xml index 6b13b4e116b..b48279e1027 100644 --- a/openerp/addons/base/ir/ir.xml +++ b/openerp/addons/base/ir/ir.xml @@ -219,7 +219,7 @@ {'active_test': False} - + diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py index ec1e64ac3c4..575a965fa11 100644 --- a/openerp/addons/base/module/module.py +++ b/openerp/addons/base/module/module.py @@ -351,15 +351,13 @@ class module(osv.osv): if config.get('type') not in ('ir.actions.reload', 'ir.actions.act_window_close'): return config + # reload the client menu_ids = self.root_menus(cr,uid,ids,context) - if menu_ids: - action = { - 'type': 'ir.ui.menu', - 'menu_id': menu_ids[0], - 'reload' : True, - } - return action - return False + return { + 'type': 'ir.actions.client', + 'tag': 'reload', + 'params': {'menu_id': menu_ids and menu_ids[0] or False}, + } def button_install_cancel(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'state': 'uninstalled', 'demo':False}) diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py index 0b348da3d74..f28b023eddd 100644 --- a/openerp/addons/base/res/res_config.py +++ b/openerp/addons/base/res/res_config.py @@ -539,19 +539,10 @@ class res_config_settings(osv.osv_memory): if to_install_ids: ir_module.button_immediate_install(cr, uid, to_install_ids, context) - # open the menu for this wizard (or Settings), and force client-side refresh - act_ids = self.pool.get('ir.actions.act_window').search(cr, uid, [('res_model', '=', self._name)]) - act_refs = ['ir.actions.act_window,%s' % id for id in act_ids] - val_ids = ir_values.search(cr, uid, [('model', '=', 'ir.ui.menu'), ('key', '=', 'action'), - ('key2', '=', 'tree_but_open'), ('value', 'in', act_refs)]) - if val_ids: - menu_id = ir_values.browse(cr, uid, val_ids[0]).res_id - else: - menu_id = ir_model_data.get_object(cr, uid, 'base', 'menu_administration', context).id + # force client-side reload (update user menu and current view) return { - 'type': 'ir.ui.menu', - 'menu_id': menu_id, - 'reload': True, + 'type': 'ir.actions.client', + 'tag': 'reload', } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/addons/base/res/res_lang.py b/openerp/addons/base/res/res_lang.py index 13acf109b04..07b220a6ee3 100644 --- a/openerp/addons/base/res/res_lang.py +++ b/openerp/addons/base/res/res_lang.py @@ -58,9 +58,6 @@ class lang(osv.osv): default_value = ir_values_obj.get(cr, uid, 'default', False, ['res.partner']) if not default_value: ir_values_obj.set(cr, uid, 'default', False, 'lang', ['res.partner'], lang) - default_value = ir_values_obj.get(cr, uid, 'default', False, ['res.users']) - if not default_value: - ir_values_obj.set(cr, uid, 'default', False, 'context_lang', ['res.users'], lang) return True def load_lang(self, cr, uid, lang, lang_name=None): diff --git a/openerp/addons/base/res/res_partner_view.xml b/openerp/addons/base/res/res_partner_view.xml index 15383ae6371..842a5dcb15a 100644 --- a/openerp/addons/base/res/res_partner_view.xml +++ b/openerp/addons/base/res/res_partner_view.xml @@ -541,7 +541,7 @@ - Contacts + Customers ir.actions.act_window res.partner form diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py index 47167439674..3101d446707 100644 --- a/openerp/addons/base/res/res_users.py +++ b/openerp/addons/base/res/res_users.py @@ -324,10 +324,11 @@ class users(osv.osv): # default avatar file name: avatar0 -> avatar6.png, choose randomly avatar_path = openerp.modules.get_module_resource('base', 'static/src/img', 'avatar%d.png' % random.randint(0, 6)) return self._avatar_resize(cr, uid, open(avatar_path, 'rb').read().encode('base64'), context=context) - + _defaults = { 'password' : '', - 'context_lang': 'en_US', + 'context_lang': lambda self, cr, uid, context: context.get('lang', 'en_US'), + 'context_tz': lambda self, cr, uid, context: context.get('tz', False), 'avatar': _get_avatar, 'active' : True, 'menu_id': _get_menu,