From 6fd876b4c7ea45a8bb2b9ce035e865fee8970872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Fri, 20 Apr 2018 10:42:10 -0300 Subject: [PATCH 1/4] [document_page] FIX creating history when there are no changes made. Add history name field, to name revisions. Modified views to allow setting this field. --- document_page/models/document_page.py | 17 ++++++++++++++--- document_page/models/document_page_history.py | 5 +++-- document_page/views/document_page.xml | 13 +++++++++---- document_page/views/document_page_history.xml | 8 +++++--- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/document_page/models/document_page.py b/document_page/models/document_page.py index 3824dc5d80b..e787341a0bc 100644 --- a/document_page/models/document_page.py +++ b/document_page/models/document_page.py @@ -43,7 +43,16 @@ class DocumentPage(models.Model): ) # no-op computed field - summary = fields.Char( + draft_name = fields.Char( + string='Name', + help='Name for the changes made', + compute=lambda x: x, + inverse=lambda x: x, + ) + + # no-op computed field + draft_summary = fields.Char( + string='Summary', help='Describe the changes made', compute=lambda x: x, inverse=lambda x: x, @@ -139,10 +148,12 @@ def _compute_content(self): @api.multi def _inverse_content(self): for rec in self: - if rec.type == 'content': + if rec.type == 'content' and \ + rec.content != rec.history_head.content: rec._create_history({ + 'name': rec.draft_name, + 'summary': rec.draft_summary, 'content': rec.content, - 'summary': rec.summary, }) @api.multi diff --git a/document_page/models/document_page_history.py b/document_page/models/document_page_history.py index 8334d6ab2c1..9b5bdb72b69 100644 --- a/document_page/models/document_page_history.py +++ b/document_page/models/document_page_history.py @@ -15,8 +15,9 @@ class DocumentPageHistory(models.Model): _order = 'id DESC' page_id = fields.Many2one('document.page', 'Page', ondelete='cascade') - summary = fields.Char('Summary', index=True) - content = fields.Text("Content") + name = fields.Char(index=True) + summary = fields.Char(index=True) + content = fields.Text() diff = fields.Text(compute='_compute_diff') @api.multi diff --git a/document_page/views/document_page.xml b/document_page/views/document_page.xml index 78b8f1b3eca..f91ddab06c2 100644 --- a/document_page/views/document_page.xml +++ b/document_page/views/document_page.xml @@ -52,16 +52,21 @@ - + diff --git a/document_page/views/document_page_history.xml b/document_page/views/document_page_history.xml index b0b49faf90f..dd08afa27bb 100755 --- a/document_page/views/document_page_history.xml +++ b/document_page/views/document_page_history.xml @@ -9,6 +9,7 @@ + @@ -46,11 +47,12 @@ + + + + - From d5fc31b9f828ca79fb6799e566b0882dc039ba1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Mon, 23 Apr 2018 16:27:38 -0300 Subject: [PATCH 2/4] [document_page] FIX BUG: UI hanging when editing content. This was due to the api.depends on _compute_diff. Removing it because it's not really necessary since the field is not stored. --- document_page/models/document_page_history.py | 1 - 1 file changed, 1 deletion(-) diff --git a/document_page/models/document_page_history.py b/document_page/models/document_page_history.py index 9b5bdb72b69..ebab7e43e86 100644 --- a/document_page/models/document_page_history.py +++ b/document_page/models/document_page_history.py @@ -21,7 +21,6 @@ class DocumentPageHistory(models.Model): diff = fields.Text(compute='_compute_diff') @api.multi - @api.depends('content', 'page_id.history_ids') def _compute_diff(self): """Shows a diff between this version and the previous version""" history = self.env['document.page.history'] From 12c49b7e8e2e14e6339c1b1f9cb2908dc149914b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Tue, 24 Apr 2018 15:06:39 -0300 Subject: [PATCH 3/4] [document_page] page_id should be readonly. Improve active field --- document_page/models/document_page.py | 2 ++ document_page/views/document_page.xml | 5 +++++ document_page/views/document_page_history.xml | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/document_page/models/document_page.py b/document_page/models/document_page.py index e787341a0bc..8f08bf72656 100644 --- a/document_page/models/document_page.py +++ b/document_page/models/document_page.py @@ -22,6 +22,8 @@ class DocumentPage(models.Model): default="content" ) + active = fields.Boolean(default=True) + parent_id = fields.Many2one( 'document.page', 'Category', diff --git a/document_page/views/document_page.xml b/document_page/views/document_page.xml index f91ddab06c2..1c100c4b0d7 100644 --- a/document_page/views/document_page.xml +++ b/document_page/views/document_page.xml @@ -38,6 +38,11 @@
+
+ +

diff --git a/document_page/views/document_page_history.xml b/document_page/views/document_page_history.xml index dd08afa27bb..413fd6e4b4e 100755 --- a/document_page/views/document_page_history.xml +++ b/document_page/views/document_page_history.xml @@ -40,7 +40,7 @@ -

+

From 69c017de1868a37e99f8c81852941c162a82e441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Tue, 24 Apr 2018 15:37:00 -0300 Subject: [PATCH 4/4] [document_page] Update version number --- document_page/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/document_page/__manifest__.py b/document_page/__manifest__.py index 38e3b19b372..3db1ee7ef5f 100644 --- a/document_page/__manifest__.py +++ b/document_page/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Document Page', - 'version': '10.0.2.0.0', + 'version': '10.0.2.1.0', 'category': 'Knowledge Management', 'author': 'OpenERP SA, Odoo Community Association (OCA)', 'images': [