From 15856a5d38cb51d27bd3c802297f700f04df230c Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Fri, 5 Dec 2008 19:34:01 +0530 Subject: [PATCH] bug-fix : problem with the menu nowits possible to have single page multiple menus bzr revid: mga@tinyerp.com-20081205140401-u1e0xyqccb872fj2 --- addons/wiki/wiki.py | 13 +++++++++++-- addons/wiki/wizard/create_menu.py | 3 ++- addons/wiki/wizard/open_page.py | 13 ++++++------- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/addons/wiki/wiki.py b/addons/wiki/wiki.py index 77092a92fd0..874516847cc 100644 --- a/addons/wiki/wiki.py +++ b/addons/wiki/wiki.py @@ -31,6 +31,16 @@ import time from StringIO import StringIO from HTMLParser import HTMLParser +class GroupLink(osv.osv): + _name = "wiki.groups.link" + _description="Wiki Groups Links" + _rec_name = 'action_id' + _columns={ + 'group_id':fields.many2one('wiki.groups', 'Parent Group', ondelete='set null'), + 'action_id': fields.many2one('ir.ui.menu', 'Menu') + } +GroupLink() + class WikiGroup(osv.osv): _name = "wiki.groups" _description="Wiki Groups" @@ -44,8 +54,7 @@ class WikiGroup(osv.osv): 'create_date':fields.datetime("Created Date", select=True), 'template': fields.text('Wiki Template'), 'section': fields.boolean("Make Section ?"), - 'home':fields.many2one('wiki.wiki', 'Pages'), - 'action_id': fields.many2one('ir.ui.menu', 'Menu') + 'home':fields.many2one('wiki.wiki', 'Pages') } WikiGroup() diff --git a/addons/wiki/wizard/create_menu.py b/addons/wiki/wizard/create_menu.py index 611a05a3c6d..84da749015f 100644 --- a/addons/wiki/wizard/create_menu.py +++ b/addons/wiki/wizard/create_menu.py @@ -52,11 +52,12 @@ def wiki_menu_create(self, cr, uid, data, context): }, context) home = data['form']['page'] + group_id = data['id'] res = { 'home':home, - 'action_id':menu_id } pool.get('wiki.groups').write(cr, uid, [data['id']], res) + pool.get('wiki.groups.link').create(cr, uid, {'group_id':group_id, 'action_id':menu_id}) return {} diff --git a/addons/wiki/wizard/open_page.py b/addons/wiki/wizard/open_page.py index e4135df2bb9..d601f303d61 100644 --- a/addons/wiki/wizard/open_page.py +++ b/addons/wiki/wizard/open_page.py @@ -33,13 +33,12 @@ class wiz_timesheet_open(wizard.interface): def _open_wiki_page(self, cr, uid, data, context): pool = pooler.get_pool(cr.dbname) menu_id = data['id'] - group_ids = pool.get('wiki.groups').search(cr, uid, [('action_id','=',menu_id)]) - - group = pool.get('wiki.groups').browse(cr, uid, group_ids[0]) + group_ids = pool.get('wiki.groups.link').search(cr, uid, [('action_id','=',menu_id)]) + group = pool.get('wiki.groups.link').browse(cr, uid, group_ids[0]) value = { - 'context': "{'group_id':%d}" % (group.id), - 'domain': "[('group_id','child_of',[%s])]" % (group.id), + 'context': "{'group_id':%d}" % (group.group_id.id), + 'domain': "[('group_id','child_of',[%s])]" % (group.group_id.id), 'name': 'Wiki Page', 'view_type': 'form', 'view_mode': 'form,tree', @@ -47,8 +46,8 @@ class wiz_timesheet_open(wizard.interface): 'view_id': False, 'type': 'ir.actions.act_window', } - if group.home : - value['res_id'] = group.home.id + if group.group_id.home: + value['res_id'] = group.group_id.home.id else: value['view_type'] = 'form' value['view_mode'] = 'tree,form'