From b8349a5e6ebf796641fa89b335eea838e4bdb590 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] [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 1d8d63fe..cd4f97a0 100644 --- a/document_page/models/document_page.py +++ b/document_page/models/document_page.py @@ -60,7 +60,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, @@ -156,10 +165,12 @@ class DocumentPage(models.Model): @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 71535701..ad559d77 100644 --- a/document_page/models/document_page_history.py +++ b/document_page/models/document_page_history.py @@ -30,8 +30,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 deb2810e..dda33536 100644 --- a/document_page/views/document_page.xml +++ b/document_page/views/document_page.xml @@ -54,16 +54,21 @@ - + diff --git a/document_page/views/document_page_history.xml b/document_page/views/document_page_history.xml index 1112e103..c80fb171 100755 --- a/document_page/views/document_page_history.xml +++ b/document_page/views/document_page_history.xml @@ -10,6 +10,7 @@ + @@ -47,11 +48,12 @@ + + + + -