From 655205d823208ca60628fba61fddbddd642bd008 Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Mon, 24 Nov 2008 15:44:28 +0530 Subject: [PATCH] implement * show diff for the 2 wiki history line * make section enabled based on the wiki group bzr revid: mga@tinyerp.com-20081124101428-z89vuq3p4822m2bd --- addons/wiki/wiki.py | 4 ++-- addons/wiki/wiki_view.xml | 6 +++--- addons/wiki/wizard/create_menu.py | 2 +- addons/wiki/wizard/show_diff.py | 33 +++++++++++++++++-------------- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/addons/wiki/wiki.py b/addons/wiki/wiki.py index 5d7d05615cb..5e1ba1b7aa6 100644 --- a/addons/wiki/wiki.py +++ b/addons/wiki/wiki.py @@ -42,11 +42,11 @@ class WikiGroup(osv.osv): 'page_ids':fields.one2many('wiki.wiki', 'group_id', 'Pages'), 'notes':fields.text("Description", select=True), 'create_date':fields.datetime("Created Date", select=True), - 'template': fields.text('Wiki Template') + 'template': fields.text('Wiki Template'), + 'section': fields.boolean("Make Section?") } WikiGroup() - class Wiki(osv.osv): _name="wiki.wiki" _description="Wiki Page" diff --git a/addons/wiki/wiki_view.xml b/addons/wiki/wiki_view.xml index 4fca7a8f7df..197bb93bbda 100644 --- a/addons/wiki/wiki_view.xml +++ b/addons/wiki/wiki_view.xml @@ -27,10 +27,11 @@ form
- + + @@ -94,8 +95,7 @@ - - + diff --git a/addons/wiki/wizard/create_menu.py b/addons/wiki/wizard/create_menu.py index 93507afeab2..f97430312bd 100644 --- a/addons/wiki/wizard/create_menu.py +++ b/addons/wiki/wizard/create_menu.py @@ -46,7 +46,7 @@ def wiki_menu_create(self, cr, uid, data, context): 'name': group.name, 'view_type':'form', 'view_mode':"tree,form", - 'context': "{'group_id':%d}" % (group.id,), + 'context': "{'group_id':%d, 'section':%d}" % (group.id, group.section), 'domain': "[('group_id','child_of',[%d])]" % (group.id,), 'res_model': 'wiki.wiki' }) diff --git a/addons/wiki/wizard/show_diff.py b/addons/wiki/wizard/show_diff.py index 6ea9bcf814d..c348055c9e9 100644 --- a/addons/wiki/wizard/show_diff.py +++ b/addons/wiki/wizard/show_diff.py @@ -22,29 +22,32 @@ from osv import fields,osv - - class showdiff(osv.osv_memory): _name = 'wizard.wiki.history.show_diff' def _get_diff(self, cr, uid, ctx): - print 'XXXXXXXXXXXXXXXXXX : ', ctx history = self.pool.get('wiki.wiki.history') - res = {} -# if lan(ids) == 2: -# diff = history.getDiff(cr, uid, ids[0]. ids[1]) -# res = { -# ids[0] : diff, -# ids[1] : diff, -# } - return res + ids = ctx.get('active_ids') + diff = "" + if len(ids) == 2: + if ids[0] > ids[1]: + diff = history.getDiff(cr, uid, ids[1], ids[0]) + else: + diff = history.getDiff(cr, uid, ids[0], ids[1]) + + elif len(ids) == 1: + old = history.browse(cr, uid, ids[0]) + nids = history.search(cr, uid, [('wiki_id','=',old.wiki_id.id)]) + nids.sort() + if ids[0] != nids[-1]: + diff = history.getDiff(cr, uid, ids[0], nids[-1]) + + return diff _columns = { - 'diff': fields.function(_get_diff, method=True, type='char', string='Diff'), + 'diff': fields.text('Diff'), } _defaults = { 'diff': _get_diff } -showdiff() - - \ No newline at end of file +showdiff() \ No newline at end of file