diff options
| author | Xavier Morel <xmo@tinyerp.com> | 2010-01-22 11:14:27 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@tinyerp.com> | 2010-01-22 11:14:27 +0100 |
| commit | a27c08272ac0f2238ee6b7b80a2bd05af8d30723 (patch) | |
| tree | 73a067418299f86fcaf2b07dca88273e6541474d /addons/base_setup/__init__.py | |
| parent | f4b8f2776bfac105b2f02e5f56c7d352c22d50c0 (diff) | |
[imp] base_config: replace last remaining step of wizard by regular osv_memory-based view
bzr revid: xmo@tinyerp.com-20100122101427-ukvw32usb2zfkjn4
Diffstat (limited to 'addons/base_setup/__init__.py')
| -rw-r--r-- | addons/base_setup/__init__.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/addons/base_setup/__init__.py b/addons/base_setup/__init__.py index 4c0b9e0b934..405742d5a34 100644 --- a/addons/base_setup/__init__.py +++ b/addons/base_setup/__init__.py @@ -23,5 +23,67 @@ import installer import todo import wizard +from osv import osv +import netsvc + +class base_setup_config_choice(osv.osv_memory): + """ + """ + _name = 'base.setup.config' + logger = netsvc.Logger() + + def set_default_menu(self, cr, uid, menu, context=None): + users = self.pool.get('res_users') + users.write(cr, uid, + users.search(cr, uid, + [('action_id','=','Setup')], + context=context), + {'action_id': menu.id}, + context=context) + users.write(cr, uid, + users.search(cr, uid, + [('menu_id','=','Setup')], + context=context), + {'menu_id': menu.id}, + context=context) + + def get_default_menu(self, cr, uid, context=None): + actions = self.pool.get('ir.actions.act_window') + + current_menu_id = actions.search(cr, uid, [('name','=','Menu')], + context=context) + assert len(current_menu_id) == 1,\ + 'A given user should only have menu item' + return actions.browse(cr, uid, current_menu_id[0], context=context) + + def menu(self, cr, uid, ids, context=None): + menu = self.get_default_menu(cr, uid, context=context) + self.set_default_menu(cr, uid, menu, context=context) + + if menu.view_id.id: + view_id = (menu.view_id.id, menu.view_id.name) + else: + view_id = False + + return { + 'name': menu.name, + 'type': menu.type, + 'view_id': view_id, + 'domain': menu.domain, + 'res_users': menu.res_model, + 'src_model': menu.src_model, + 'view_type': menu.view_type, + 'view_mode': menu.view_mode, + 'views': menu.views, + } + def config(self, cr, uid, ids, context=None): + menu = self.get_default_menu(cr, uid, context=context) + self.set_default_menu(cr, uid, menu, context=context) + + return self.pool.get('res.config').next(cr, uid, [], context=context) + +base_setup_config_choice() + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
