[imp] base_config: replace last remaining step of wizard by regular osv_memory-based view

bzr revid: xmo@tinyerp.com-20100122101427-ukvw32usb2zfkjn4
This commit is contained in:
Xavier Morel 2010-01-22 11:14:27 +01:00
parent f4b8f2776b
commit a27c08272a
3 changed files with 99 additions and 12 deletions

View File

@ -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:

View File

@ -1,16 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<data noupdate="1">
<record id="view_base_setup" model="ir.ui.view">
<field name="name">Setup</field>
<field name="model">base.setup.config</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Setup">
<group colspan="4">
<image name="gtk-dialog-info"/>
<group colspan="2" col="4">
<separator colspan="4" string="Installation Done"/>
<label align="0.0" colspan="4"
string="Your new database is now fully installed."/>
<label align="0.0" colspan="4"
string="You can start configuring the system or connect directly to the database using the default setup."/>
</group>
</group>
<button name="menu" icon="gtk-ok" type="object"
string="Use Directly"/>
<button name="config" icon="gtk-go-forward" type="object"
string="Start Configuration"/>
</form>
</field>
</record>
<record id="action_wizard_setup" model="ir.actions.wizard">
<field name="name">Setup</field>
<field name="type">ir.actions.wizard</field>
<field name="wiz_name">base_setup.base_setup</field>
</record>
<record id="action_base_setup" model="ir.actions.act_window">
<field name="name">Setup</field>
<field name="res_model">base.setup.config</field>
<field name="type">ir.actions.act_window</field>
<field name="view_id" ref="view_base_setup"/>
<field name="target">new</field>
</record>
<record id="base.user_root" model="res.users">
<field name="action_id" ref="action_wizard_setup"/>
<field name="menu_id" ref="action_wizard_setup"/>
</record>
</data>
<record id="base.user_root" model="res.users">
<field name="action_id" ref="action_base_setup"/>
<field name="menu_id" ref="action_base_setup"/>
</record>
</data>
</openerp>

View File

@ -3,7 +3,7 @@
<data noupdate="1">
<record id="base.user_demo" model="res.users">
<field name="action_id" ref="action_wizard_setup"/>
<field name="action_id" ref="action_base_setup"/>
</record>
</data>