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