From 5c2ddb51ab001fa0306968d6a31536786d2fdc49 Mon Sep 17 00:00:00 2001 From: "Dimitrios T. Tanis" Date: Tue, 15 Apr 2025 14:34:43 +0300 Subject: [PATCH] [IMP] document_page: Wrap diff view, set wrapping via ir.config_parameter Use wrapcolumn when calling HtmlDiff to view long line changes in one screen. Wrapping is set to a sane 40 columns default, but can be overriden by changing document_page.wrapcolumn config_parameter To restore original behaviour, delete document_page.wrapcolumn key in ir.config_parameter --- document_page/__manifest__.py | 1 + document_page/data/ir_config_parameter_data.xml | 9 +++++++++ document_page/models/document_page_history.py | 4 +++- 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 document_page/data/ir_config_parameter_data.xml diff --git a/document_page/__manifest__.py b/document_page/__manifest__.py index f314eefa..a27b569b 100644 --- a/document_page/__manifest__.py +++ b/document_page/__manifest__.py @@ -19,6 +19,7 @@ "license": "AGPL-3", "depends": ["mail", "document_knowledge"], "data": [ + "data/ir_config_parameter_data.xml", "security/document_page_security.xml", "security/ir.model.access.csv", "wizard/document_page_create_menu.xml", diff --git a/document_page/data/ir_config_parameter_data.xml b/document_page/data/ir_config_parameter_data.xml new file mode 100644 index 00000000..9551834c --- /dev/null +++ b/document_page/data/ir_config_parameter_data.xml @@ -0,0 +1,9 @@ + + + + + document_page.wrapcolumn + 40 + + + diff --git a/document_page/models/document_page_history.py b/document_page/models/document_page_history.py index 7b200e6a..0b808dce 100644 --- a/document_page/models/document_page_history.py +++ b/document_page/models/document_page_history.py @@ -54,10 +54,12 @@ class DocumentPageHistory(models.Model): text2 = text2.replace("

", "

\r\n

") line1 = text1.splitlines(True) line2 = text2.splitlines(True) + params = self.env["ir.config_parameter"].sudo() + wrapcolumn = int(params.get_param("document_page.wrapcolumn", None)) if line1 == line2: return _("There are no changes in revisions.") else: - diff = difflib.HtmlDiff() + diff = difflib.HtmlDiff(wrapcolumn=wrapcolumn) return diff.make_table( line1, line2,