diff --git a/addons/portal/portal.py b/addons/portal/portal.py index ef048f2ea75..fbf437a227d 100644 --- a/addons/portal/portal.py +++ b/addons/portal/portal.py @@ -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 """ diff --git a/addons/portal/portal_view.xml b/addons/portal/portal_view.xml index 1850ed56ff8..3577e21697a 100644 --- a/addons/portal/portal_view.xml +++ b/addons/portal/portal_view.xml @@ -20,10 +20,6 @@ portal's users. - - - Portal Form @@ -44,7 +40,7 @@ portal's users. -