[IMP] add user wizard on res.partner
bzr revid: rco@openerp.com-20110427075306-ns4tpzooswvuz0ma
This commit is contained in:
parent
9e514bb887
commit
dc4e6b6f5a
|
@ -77,20 +77,31 @@ class user_wizard(osv.osv_memory):
|
|||
]
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
""" define the default name, login, email, address_id from the active
|
||||
res.partner.address record """
|
||||
""" determine default name, email, address_id and lang from the active
|
||||
record """
|
||||
# get existing defaults
|
||||
defs = super(user_wizard, self).default_get(cr, uid, fields, context)
|
||||
|
||||
# override name, login, email, address_id, and lang
|
||||
if context and ('active_id' in context):
|
||||
# determine a res.partner.address depending on current context
|
||||
address = None
|
||||
if context.get('active_model') == 'res.partner.address':
|
||||
address_obj = self.pool.get('res.partner.address')
|
||||
address = address_obj.browse(cr, uid, context['active_id'], context)
|
||||
address = address_obj.browse(cr, uid, context.get('active_id'), context)
|
||||
|
||||
elif context.get('active_model') == 'res.partner':
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
partner = partner_obj.browse(cr, uid, context.get('active_id'), context)
|
||||
if partner and partner.address:
|
||||
# take default address if present, or any address otherwise
|
||||
addresses = filter(lambda a: a.type == 'default', partner.address)
|
||||
address = addresses[0] if addresses else partner.address[0]
|
||||
|
||||
# override name, email, address_id, and lang
|
||||
if address:
|
||||
defs['name'] = address.name
|
||||
defs['email'] = address.email
|
||||
defs['address_id'] = address.id
|
||||
if address.partner_id and address.partner_id.lang:
|
||||
defs['lang'] = address.partner_id.lang
|
||||
defs['lang'] = address.partner_id and address.partner_id.lang
|
||||
|
||||
return defs
|
||||
|
||||
|
|
|
@ -1,8 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!-- User Wizard on res.partner.address -->
|
||||
<act_window id="portal_user_wizard_action"
|
||||
<!-- wizard action on res.partner -->
|
||||
<act_window id="partner_user_wizard_action"
|
||||
name="Create Portal User"
|
||||
src_model="res.partner"
|
||||
res_model="res.portal.user_wizard"
|
||||
view_type="form" view_mode="form"
|
||||
key2="client_action_multi" target="new"/>
|
||||
|
||||
<!-- wizard action on res.partner.address -->
|
||||
<act_window id="address_user_wizard_action"
|
||||
name="Create Portal User"
|
||||
src_model="res.partner.address"
|
||||
res_model="res.portal.user_wizard"
|
||||
|
@ -10,7 +18,7 @@
|
|||
key2="client_action_multi" target="new"/>
|
||||
|
||||
<!-- user_wizard view -->
|
||||
<record id="portal_user_wizard_view" model="ir.ui.view">
|
||||
<record id="user_wizard_view" model="ir.ui.view">
|
||||
<field name="name">Create Portal User</field>
|
||||
<field name="model">res.portal.user_wizard</field>
|
||||
<field name="type">form</field>
|
||||
|
|
Loading…
Reference in New Issue