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,