From c526768acfd8324f357ef267be8b74562dffad05 Mon Sep 17 00:00:00 2001 From: angel Date: Mon, 13 Jun 2022 11:05:12 +0200 Subject: [PATCH] [14.0][IMP] document_page: copy document function. --- document_page/models/document_page.py | 10 ++++++++++ document_page/tests/test_document_page.py | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/document_page/models/document_page.py b/document_page/models/document_page.py index 345a745e..9aa39df3 100644 --- a/document_page/models/document_page.py +++ b/document_page/models/document_page.py @@ -182,3 +182,13 @@ class DocumentPage(models.Model): res = super().unlink() menus.unlink() return res + + def copy(self, default=None): + default = dict( + default or {}, + name=_("%s (copy)") % self.name, + content=self.content, + draft_name="1.0", + draft_summary=_("summary"), + ) + return super(DocumentPage, self).copy(default=default) diff --git a/document_page/tests/test_document_page.py b/document_page/tests/test_document_page.py index bfac0668..fbc0ab2c 100644 --- a/document_page/tests/test_document_page.py +++ b/document_page/tests/test_document_page.py @@ -49,3 +49,11 @@ class TestDocumentPage(common.TransactionCase): page.id, menu.action.id ), ) + + def test_page_copy(self): + page = self.page_obj.create({"name": "Test Page 3", "content": "Test content"}) + page_copy = page.copy() + self.assertEqual(page_copy.name, page.name + " (copy)") + self.assertEqual(page_copy.content, page.content) + self.assertEqual(page_copy.draft_name, "1.0") + self.assertEqual(page_copy.draft_summary, "summary")