mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-13 07:24:48 -06:00
[MIG] document_page: Migration to 9.0
This commit is contained in:
parent
463e9f0081
commit
35a8a60ae1
68
document_page/README.rst
Normal file
68
document_page/README.rst
Normal file
@ -0,0 +1,68 @@
|
||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
|
||||
=============
|
||||
Document Page
|
||||
=============
|
||||
|
||||
This module allows you to write web pages for internal documentation.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
This module depends on module knowledge. So make sure to have it in your addons list.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
No configuration required
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
To use this module, you need to:
|
||||
|
||||
* Go to Knowledge menu
|
||||
* Click on Categories to create the document's category you need with the template
|
||||
* Click on Pages to create pages and select the previous category to use the template
|
||||
|
||||
|
||||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||
:alt: Try me on Runbot
|
||||
:target: https://runbot.odoo-community.org/runbot/118/9.0
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/Knowledge/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback `here <https://github.com/OCA/knowledge/issues/new?body=module:%20document_page%0Aversion:%209.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Odoo SA <info@odoo.com>
|
||||
* Savoir-faire Linux <support@savoirfairelinux.com>
|
||||
* Gervais Naoussi <gervaisnaoussi@gmail.com>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
.. image:: https://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: https://odoo-community.org
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.
|
||||
|
||||
To contribute to this module, please visit http://odoo-community.org.
|
@ -18,5 +18,5 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from . import document_page
|
||||
from . import models
|
||||
from . import wizard
|
||||
|
@ -21,35 +21,29 @@
|
||||
|
||||
{
|
||||
'name': 'Document Page',
|
||||
'version': '8.0.1.0.1',
|
||||
'version': '9.0.1.0.1',
|
||||
'category': 'Knowledge Management',
|
||||
'description': """
|
||||
Pages
|
||||
=====
|
||||
Web pages
|
||||
""",
|
||||
'author': ['OpenERP SA'],
|
||||
'author': 'OpenERP SA, Odoo Community Association (OCA)',
|
||||
'images': ['images/category_list.png', 'images/create_category.png',
|
||||
'images/page_list.png', 'images/create_page.png',
|
||||
'images/customer_invoice.jpeg', 'images/page_history.png'],
|
||||
'website': 'http://www.openerp.com/',
|
||||
'license': 'AGPL-3',
|
||||
'depends': [
|
||||
'knowledge',
|
||||
'mail',
|
||||
'knowledge',
|
||||
],
|
||||
'data': [
|
||||
'wizard/document_page_create_menu_view.xml',
|
||||
'wizard/document_page_show_diff_view.xml',
|
||||
'document_page_view.xml',
|
||||
'wizard/document_page_create_menu.xml',
|
||||
'wizard/document_page_show_diff.xml',
|
||||
'views/document_page.xml',
|
||||
'security/document_page_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
],
|
||||
'demo': [
|
||||
'document_page_demo.xml'
|
||||
],
|
||||
'test': [
|
||||
'test/document_page_test00.yml'
|
||||
'demo/document_page.xml'
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'images': [],
|
||||
'css': ['static/src/css/document_page.css'],
|
||||
}
|
||||
|
@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openerp>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record id="wiki_wiki_main" model="document.page">
|
||||
<field name="name">The OpenERP wiki</field>
|
||||
<field name="name">The Odoo wiki</field>
|
||||
<field name="tags">help, quick start, wiki, formatting</field>
|
||||
<field name="minor_edit">0</field>
|
||||
<field name="index">1</field>
|
||||
<field name="summary">Initial Page</field>
|
||||
<field name="content">==The OpenERP wiki==
|
||||
|
||||
[[File:http://www.openerp.com/sites/all/themes/openerp/logo.png OpenERP]]
|
||||
<field name="content">== The Odoo wiki ==
|
||||
|
||||
The OpenERP wiki allows you to manage your enterprise's contents using wiki
|
||||
[[File:https://www.odoo.com/openerp_website/static/src/img/logo_transparent_198px.png Odoo]]
|
||||
|
||||
The Odoo wiki allows you to manage your enterprise's contents using wiki
|
||||
restructured texts. This module provides a collaborative way to manage internal
|
||||
FAQs, quality manuals, technical references, etc.
|
||||
|
||||
@ -38,4 +38,4 @@ FAQs, quality manuals, technical references, etc.
|
||||
<field name="parent_id" ref="wiki_groups_wikiformatting0"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openerp>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record id="base.user_demo" model="res.users">
|
||||
<field eval="[(4, ref('base.group_document_user'))]"
|
||||
@ -128,4 +128,4 @@ Think of it as an out-of-the-box solution to boost your business' productivity.<
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
BIN
document_page/images/category_list.png
Normal file
BIN
document_page/images/category_list.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
BIN
document_page/images/create_category.png
Normal file
BIN
document_page/images/create_category.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
BIN
document_page/images/create_page.png
Normal file
BIN
document_page/images/create_page.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
BIN
document_page/images/page_history.png
Normal file
BIN
document_page/images/page_history.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 95 KiB |
BIN
document_page/images/page_list.png
Normal file
BIN
document_page/images/page_list.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 79 KiB |
22
document_page/models/__init__.py
Normal file
22
document_page/models/__init__.py
Normal file
@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from . import document_page
|
||||
from . import document_page_history
|
@ -19,13 +19,14 @@
|
||||
#
|
||||
##############################################################################
|
||||
import logging
|
||||
import difflib
|
||||
from openerp import models, fields, api, _
|
||||
from openerp import models, fields, api
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class document_page(models.Model):
|
||||
class DocumentPage(models.Model):
|
||||
"""This class is use to manage Document."""
|
||||
|
||||
_name = "document.page"
|
||||
_inherit = ['mail.thread']
|
||||
_description = "Document Page"
|
||||
@ -99,6 +100,7 @@ class document_page(models.Model):
|
||||
)
|
||||
|
||||
def _get_page_index(self, page, link=True):
|
||||
"""Return the index of a document."""
|
||||
index = []
|
||||
for subpage in page.child_ids:
|
||||
index += ["<li>" + self._get_page_index(subpage) +
|
||||
@ -112,6 +114,7 @@ class document_page(models.Model):
|
||||
return r
|
||||
|
||||
def _get_display_content(self):
|
||||
"""Return the content of a document."""
|
||||
for page in self:
|
||||
if page.type == "category":
|
||||
display_content = self._get_page_index(page, link=False)
|
||||
@ -121,11 +124,13 @@ class document_page(models.Model):
|
||||
|
||||
@api.onchange("parent_id")
|
||||
def do_set_content(self):
|
||||
"""We Set it the right content to the new parent."""
|
||||
if self.parent_id and not self.content:
|
||||
if self.parent_id.type == "category":
|
||||
self.content = self.parent_id.content
|
||||
|
||||
def create_history(self, page_id, content):
|
||||
"""Create the first history of a newly created document."""
|
||||
history = self.env['document.page.history']
|
||||
return history.create({
|
||||
"content": content,
|
||||
@ -134,7 +139,8 @@ class document_page(models.Model):
|
||||
|
||||
@api.multi
|
||||
def write(self, vals):
|
||||
result = super(document_page, self).write(vals)
|
||||
"""Write the content and set the history."""
|
||||
result = super(DocumentPage, self).write(vals)
|
||||
content = vals.get('content')
|
||||
if content:
|
||||
for page in self:
|
||||
@ -144,51 +150,9 @@ class document_page(models.Model):
|
||||
@api.model
|
||||
@api.returns('self', lambda value: value.id)
|
||||
def create(self, vals):
|
||||
page_id = super(document_page, self).create(vals)
|
||||
"""Create the first history of a document."""
|
||||
page_id = super(DocumentPage, self).create(vals)
|
||||
content = vals.get('content')
|
||||
if content:
|
||||
self.create_history(page_id.id, content)
|
||||
return page_id
|
||||
|
||||
|
||||
class document_page_history(models.Model):
|
||||
_name = "document.page.history"
|
||||
_description = "Document Page History"
|
||||
_order = 'id DESC'
|
||||
_rec_name = "create_date"
|
||||
|
||||
page_id = fields.Many2one('document.page', 'Page')
|
||||
summary = fields.Char('Summary', size=256, select=True)
|
||||
content = fields.Text("Content")
|
||||
create_date = fields.Datetime("Date")
|
||||
create_uid = fields.Many2one('res.users', "Modified By")
|
||||
|
||||
def getDiff(self, v1, v2):
|
||||
text1 = self.browse(v1).content
|
||||
text2 = self.browse(v2).content
|
||||
line1 = line2 = ''
|
||||
if text1:
|
||||
line1 = text1.splitlines(1)
|
||||
if text2:
|
||||
line2 = text2.splitlines(1)
|
||||
if (not line1 and not line2) or (line1 == line2):
|
||||
return _('There are no changes in revisions.')
|
||||
else:
|
||||
diff = difflib.HtmlDiff()
|
||||
return diff.make_table(
|
||||
line1, line2,
|
||||
"Revision-{}".format(v1),
|
||||
"Revision-{}".format(v2),
|
||||
context=True
|
||||
)
|
||||
|
||||
def __getattr__(self, attr):
|
||||
"""Return a dummy callabale"""
|
||||
if attr in ['_sql', 'init', '_ids']:
|
||||
raise AttributeError
|
||||
|
||||
_logger.warning(
|
||||
"Trying to access attribute %s on document_page_history",
|
||||
attr
|
||||
)
|
||||
return (lambda *a, **b: None)
|
60
document_page/models/document_page_history.py
Normal file
60
document_page/models/document_page_history.py
Normal file
@ -0,0 +1,60 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import logging
|
||||
import difflib
|
||||
from openerp import models, fields, _
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class DocumentPageHistory(models.Model):
|
||||
"""This model is necessary to manage a document history."""
|
||||
|
||||
_name = "document.page.history"
|
||||
_description = "Document Page History"
|
||||
_order = 'id DESC'
|
||||
_rec_name = "create_date"
|
||||
|
||||
page_id = fields.Many2one('document.page', 'Page')
|
||||
summary = fields.Char('Summary', select=True)
|
||||
content = fields.Text("Content")
|
||||
create_date = fields.Datetime("Date")
|
||||
create_uid = fields.Many2one('res.users', "Modified By")
|
||||
|
||||
def getDiff(self, v1, v2):
|
||||
"""Return the difference between two version of document version."""
|
||||
text1 = self.browse(v1).content
|
||||
text2 = self.browse(v2).content
|
||||
line1 = line2 = ''
|
||||
if text1:
|
||||
line1 = text1.splitlines(1)
|
||||
if text2:
|
||||
line2 = text2.splitlines(1)
|
||||
if (not line1 and not line2) or (line1 == line2):
|
||||
return _('There are no changes in revisions.')
|
||||
else:
|
||||
diff = difflib.HtmlDiff()
|
||||
return diff.make_table(
|
||||
line1, line2,
|
||||
"Revision-{}".format(v1),
|
||||
"Revision-{}".format(v2),
|
||||
context=True
|
||||
)
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<odoo>
|
||||
<data noupdate="0">
|
||||
<record id="base.group_document_user" model="res.groups">
|
||||
<field name="users" eval="[(4, ref('base.user_root'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
@ -1,55 +0,0 @@
|
||||
-
|
||||
In order to test the document_page in OpenERP, I create a new page to category demo_category1
|
||||
-
|
||||
!record {model: document.page, id: test_page0}:
|
||||
name: Test Page0
|
||||
parent_id: demo_category1
|
||||
content: 'Test content
|
||||
|
||||
The Open ERP wiki allows you to manage your enterprise contents using wiki
|
||||
|
||||
restructured texts. This module provides a collaborative way to manage internal
|
||||
|
||||
FAQs, quality manuals, technical references, etc.'
|
||||
|
||||
-
|
||||
I check the category index contains my page.
|
||||
-
|
||||
!python {model: document.page}: |
|
||||
res = self.read(cr, uid, [ref('demo_category1')], ['display_content'])
|
||||
assert res[0]['display_content'].find('Test Page') > 1
|
||||
-
|
||||
!record {model: document.page, id: test_page0}:
|
||||
content: 'Test updated content
|
||||
|
||||
The Open ERP wiki allows you to manage your enterprise contents using wiki
|
||||
|
||||
restructured texts. This module provides a collaborative way to manage internal
|
||||
|
||||
FAQs, quality manuals, technical references, etc.
|
||||
|
||||
Wiki text can easily be edited
|
||||
'
|
||||
|
||||
-
|
||||
I check the page history for the current page by clicking on "Page History".After that find difference between history.
|
||||
-
|
||||
!python {model: wizard.document.page.history.show_diff, id: False}: |
|
||||
hist_obj = self.env['document.page.history']
|
||||
ids = hist_obj.search([('page_id', '=', ref("test_page0"))])
|
||||
self.with_context(active_ids=[i.id for i in ids]).get_diff()
|
||||
|
||||
|
||||
-
|
||||
I click the "create menu" link and i fill the form.
|
||||
-
|
||||
!record {model: document.page.create.menu, id: test_create_menu0}:
|
||||
menu_name: Wiki Test menu
|
||||
menu_parent_id: base.menu_base_partner
|
||||
-
|
||||
I create a Menu by clicking on "create menu"
|
||||
-
|
||||
!python {model: document.page.create.menu, id: False}: |
|
||||
menu = self.search([('id', '=', ref("test_create_menu0"))])
|
||||
menu.with_context(active_id=[ref('test_page0')]).document_page_menu_create()
|
||||
|
5
document_page/tests/__init__.py
Normal file
5
document_page/tests/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import test_document_page, test_document_page_history
|
||||
from . import test_document_page_create_menu
|
||||
from . import test_document_page_show_diff
|
37
document_page/tests/test_document_page.py
Normal file
37
document_page/tests/test_document_page.py
Normal file
@ -0,0 +1,37 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp.tests import common
|
||||
|
||||
|
||||
class TestDocumentPage(common.TransactionCase):
|
||||
"""document_page test class."""
|
||||
|
||||
def test_page_creation(self):
|
||||
"""Test page creation."""
|
||||
parent_page = self.env.ref('document_page.demo_category1')
|
||||
|
||||
self.assertEqual(parent_page.name, 'OpenERP Features')
|
||||
|
||||
record = self.env['document.page'].create({
|
||||
'name': 'Test Page1',
|
||||
'parent_id': parent_page.id,
|
||||
'content': 'Test content'
|
||||
})
|
||||
self.assertEqual(record.name, 'Test Page1')
|
||||
|
||||
def test_category_display_content(self):
|
||||
"""Test category display content."""
|
||||
page = self.env.ref('document_page.demo_category1')
|
||||
self.assertTrue(page.display_content.find('Demo') > 1)
|
||||
|
||||
def test_page_display_content(self):
|
||||
"""Test page display content."""
|
||||
page = self.env.ref('document_page.demo_page1')
|
||||
self.assertTrue(page.display_content.find('Demo') > 1)
|
||||
|
||||
def test_page_do_set_content(self):
|
||||
"""Test page set content."""
|
||||
page = self.env.ref('document_page.demo_page1')
|
||||
page.content = None
|
||||
page.do_set_content()
|
||||
self.assertTrue(page.display_content.find('Summary') == 1)
|
30
document_page/tests/test_document_page_create_menu.py
Normal file
30
document_page/tests/test_document_page_create_menu.py
Normal file
@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp.tests import common
|
||||
|
||||
|
||||
class TestDocumentPageCreateMenu(common.TransactionCase):
|
||||
"""document_page_create_menu test class."""
|
||||
|
||||
def test_page_menu_creation(self):
|
||||
"""Test page menu creation."""
|
||||
menu_parent = self.env.ref('base.menu_base_partner')
|
||||
|
||||
menu_created = self.env['document.page.create.menu'].create(
|
||||
{'menu_name': 'Wiki Test menu', 'menu_parent_id': menu_parent.id}
|
||||
)
|
||||
|
||||
menu = self.env['document.page.create.menu'].search(
|
||||
[('id', '=', menu_created.id)]
|
||||
)
|
||||
menu.with_context(
|
||||
active_id=[self.ref('document_page.demo_page1')]
|
||||
).document_page_menu_create()
|
||||
|
||||
fields_list = ["menu_name", "menu_name"]
|
||||
|
||||
res = menu.with_context(
|
||||
active_id=[self.ref('document_page.demo_page1')]
|
||||
).default_get(fields_list)
|
||||
|
||||
self.assertEqual(res['menu_name'], 'OpenERP 6.1. Functional Demo')
|
21
document_page/tests/test_document_page_history.py
Normal file
21
document_page/tests/test_document_page_history.py
Normal file
@ -0,0 +1,21 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp.tests import common
|
||||
|
||||
|
||||
class TestDocumentPageHistory(common.TransactionCase):
|
||||
"""document_page_history test class."""
|
||||
|
||||
def test_page_history_demo_page1(self):
|
||||
"""Test page history demo page1."""
|
||||
page = self.env.ref('document_page.demo_page1')
|
||||
page.content = 'Test content updated'
|
||||
history_document = self.env['document.page.history']
|
||||
history_pages = history_document.search([('page_id', '=', page.id)])
|
||||
active_ids = [i.id for i in history_pages]
|
||||
|
||||
result = history_document.getDiff(active_ids[0], active_ids[0])
|
||||
self.assertEqual(result, 'There are no changes in revisions.')
|
||||
|
||||
result = history_document.getDiff(active_ids[0], active_ids[1])
|
||||
self.assertNotEqual(result, 'There are no changes in revisions.')
|
36
document_page/tests/test_document_page_show_diff.py
Normal file
36
document_page/tests/test_document_page_show_diff.py
Normal file
@ -0,0 +1,36 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from openerp.tests import common
|
||||
from openerp import _
|
||||
|
||||
|
||||
class TestDocumentPageShowDiff(common.TransactionCase):
|
||||
"""document_page_show_diff test class."""
|
||||
|
||||
def test_show_demo_page1_diff(self):
|
||||
"""Show test page history difference."""
|
||||
page = self.env.ref('document_page.demo_page1')
|
||||
|
||||
show_diff_object = self.env['wizard.document.page.history.show_diff']
|
||||
|
||||
history_document = self.env['document.page.history']
|
||||
history_pages = history_document.search([('page_id', '=', page.id)])
|
||||
|
||||
self.assertTrue(
|
||||
show_diff_object.with_context(
|
||||
active_ids=[i.id for i in history_pages]
|
||||
).get_diff()
|
||||
)
|
||||
|
||||
page.write({'content': 'Text content updated'})
|
||||
page.write({'content': 'Text updated'})
|
||||
|
||||
history_pages = history_document.search([('page_id', '=', page.id)])
|
||||
|
||||
with self.assertRaises(Exception) as context:
|
||||
show_diff_object.with_context(
|
||||
active_ids=[i.id for i in history_pages]
|
||||
).get_diff()
|
||||
|
||||
self.assertTrue(_("Select one or maximum two history revisions!")
|
||||
in context.exception)
|
@ -1,9 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<odoo>
|
||||
<data>
|
||||
<menuitem name="Knowledge"
|
||||
id="knowledge.menu_document" />
|
||||
|
||||
<menuitem name="Pages"
|
||||
id="menu_wiki"
|
||||
parent="knowledge.menu_document"
|
||||
@ -316,4 +313,4 @@
|
||||
src_model="document.page"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
@ -20,5 +20,3 @@
|
||||
##############################################################################
|
||||
from . import document_page_create_menu
|
||||
from . import document_page_show_diff
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
@ -21,8 +21,9 @@
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class document_page_create_menu(models.TransientModel):
|
||||
""" Create Menu """
|
||||
class DocumentPageCreateMenu(models.TransientModel):
|
||||
"""Create Menu."""
|
||||
|
||||
_name = "document.page.create.menu"
|
||||
_description = "Wizard Create Menu"
|
||||
|
||||
@ -39,7 +40,8 @@ class document_page_create_menu(models.TransientModel):
|
||||
|
||||
@api.model
|
||||
def default_get(self, fields_list):
|
||||
res = super(document_page_create_menu, self).default_get(fields_list)
|
||||
"""Get Page name of the menu."""
|
||||
res = super(DocumentPageCreateMenu, self).default_get(fields_list)
|
||||
page_id = self.env.context.get('active_id')
|
||||
obj_page = self.env['document.page']
|
||||
page = obj_page.browse(page_id)
|
||||
@ -48,6 +50,7 @@ class document_page_create_menu(models.TransientModel):
|
||||
|
||||
@api.multi
|
||||
def document_page_menu_create(self):
|
||||
"""Menu creation."""
|
||||
obj_page = self.env['document.page']
|
||||
obj_menu = self.env['ir.ui.menu']
|
||||
obj_action = self.env['ir.actions.act_window']
|
||||
@ -86,6 +89,3 @@ class document_page_create_menu(models.TransientModel):
|
||||
'type': 'ir.actions.client',
|
||||
'tag': 'reload',
|
||||
}
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<odoo>
|
||||
<data>
|
||||
<!-- Create Menu From view -->
|
||||
<record id="view_wiki_create_menu" model="ir.ui.view">
|
||||
@ -38,4 +38,4 @@
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
@ -22,12 +22,13 @@ from openerp import models, fields, _
|
||||
from openerp import exceptions
|
||||
|
||||
|
||||
class showdiff(models.TransientModel):
|
||||
""" Display Difference for History """
|
||||
class DocumentPageShowDiff(models.TransientModel):
|
||||
"""Display Difference for History."""
|
||||
|
||||
_name = 'wizard.document.page.history.show_diff'
|
||||
|
||||
def get_diff(self):
|
||||
"""Return the Difference between two document."""
|
||||
history = self.env["document.page.history"]
|
||||
ids = self.env.context.get('active_ids', [])
|
||||
|
||||
@ -47,8 +48,7 @@ class showdiff(models.TransientModel):
|
||||
diff = history.getDiff(ids[0], nids.id)
|
||||
else:
|
||||
raise exceptions.Warning(
|
||||
_("You need to select minimum one or maximum "
|
||||
"two history revisions!")
|
||||
_("Select one or maximum two history revisions!")
|
||||
)
|
||||
return diff
|
||||
|
||||
@ -57,5 +57,3 @@ class showdiff(models.TransientModel):
|
||||
readonly=True,
|
||||
default=get_diff
|
||||
)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- Create Index Form view -->
|
||||
@ -44,4 +44,4 @@
|
||||
view_type="form"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
Loading…
Reference in New Issue
Block a user