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")