rename and improve create_parent_menu()

bzr revid: rco@openerp.com-20110404084550-s3cb11pged5hk3x8
This commit is contained in:
Raphael Collet 2011-04-04 10:45:50 +02:00
parent 59c12749e0
commit 3a65fdf1f1
2 changed files with 15 additions and 18 deletions

View File

@ -106,21 +106,22 @@ class portal(osv.osv):
}
return actions_obj.create(cr, uid, action_values, context)
def create_parent_menu(self, cr, uid, ids, context=None):
""" create a parent menu for this portal """
if len(ids) != 1:
raise ValueError("portal.create_parent_menu() applies to one portal at a time")
portal_name = self.browse(cr, uid, ids[0], context).name
def do_create_menu(self, cr, uid, ids, context=None):
""" create a parent menu for the given portals """
menu_obj = self.pool.get('ir.ui.menu')
menu_root = self._res_xml_id(cr, uid, 'portal', 'portal_menu')
# create a menuitem under 'portal.portal_menu_tree'
item_values = {
'name': portal_name + ' Menu',
'parent_id': self._res_xml_id(cr, uid, 'portal', 'portal_menu_tree'),
}
item_id = self.pool.get('ir.ui.menu').create(cr, uid, item_values, context)
for p in self.browse(cr, uid, ids, context):
# create a menuitem under 'portal.portal_menu'
menu_values = {
'name': p.name + ' Menu',
'parent_id': menu_root,
}
menu_id = menu_obj.create(cr, uid, menu_values, context)
# set the parent_menu_id to item_id
self.write(cr, uid, p.id, {'parent_menu_id': menu_id}, context)
# set the parent_menu_id to item_id
return self.write(cr, uid, ids, {'parent_menu_id': item_id}, context)
return True
def onchange_group(self, cr, uid, ids, group_id, context=None):
""" update the users list when the group changes """

View File

@ -20,10 +20,6 @@ portal's users.
<menuitem name="Portals" id="portal_list_menu"
parent="portal_menu" sequence="1" action="portal_list_action"/>
<!-- menu Administration/Portals/Portal menus -->
<menuitem name="Portal Menus" id="portal_menu_tree"
parent="portal_menu" sequence="2"/>
<!-- portal form view -->
<record id="portal_form" model="ir.ui.view">
<field name="name">Portal Form</field>
@ -44,7 +40,7 @@ portal's users.
<newline/>
<field name="parent_menu_id"
context="{'ir.ui.menu.full_list': True}"/>
<button name="create_parent_menu" type="object"
<button name="do_create_menu" type="object"
string="Create Parent Menu"/>
</page>
</notebook>