diff --git a/document_page/models/document_page.py b/document_page/models/document_page.py index 0eff4ffc..91a0218e 100644 --- a/document_page/models/document_page.py +++ b/document_page/models/document_page.py @@ -101,6 +101,17 @@ class DocumentPage(models.Model): index=True, ondelete='cascade', ) + backend_url = fields.Char( + string='Backend URL', + help='Use it to link resources univocally', + compute='_compute_backend_url', + ) + + @api.depends() + def _compute_backend_url(self): + tmpl = '/web#id={}&model=document.page&view_type=form' + for rec in self: + rec.backend_url = tmpl.format(rec.id) @api.constrains('parent_id') def _check_parent_id(self): @@ -116,11 +127,12 @@ class DocumentPage(models.Model): index += ["
  • " + subpage._get_page_index() + "
  • "] r = '' if link: - r = '%s' % (self.id, self.name) + r = '{}'.format(self.backend_url, self.name) if index: r += "" return r + @api.multi @api.depends('history_head') diff --git a/document_page/tests/test_document_page.py b/document_page/tests/test_document_page.py index c087623e..4799843d 100644 --- a/document_page/tests/test_document_page.py +++ b/document_page/tests/test_document_page.py @@ -37,3 +37,13 @@ class TestDocumentPage(common.TransactionCase): }) page.content = 'New content' self.assertIsNotNone(page.history_ids[0].diff) + + def test_page_link(self): + page = self.page_obj.create({ + 'name': 'Test Page 3', + 'content': 'Test content' + }) + self.assertEqual( + page.backend_url, + '/web#id={}&model=document.page&view_type=form'.format(page.id) + )