diff --git a/document_page_group/__manifest__.py b/document_page_group/__manifest__.py index 149a3ae0..a1b66eda 100644 --- a/document_page_group/__manifest__.py +++ b/document_page_group/__manifest__.py @@ -2,18 +2,13 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - 'name': 'Document Page Group', - 'summary': """ + "name": "Document Page Group", + "summary": """ Define access groups on documents""", - 'version': '12.0.1.0.0', - 'license': 'AGPL-3', - 'author': 'Creu Blanca,Odoo Community Association (OCA)', - 'website': 'https://github.com/OCA/knowledge', - 'depends': [ - 'document_page', - ], - 'data': [ - 'security/document_page_security.xml', - 'views/document_page.xml', - ], + "version": "12.0.1.0.0", + "license": "AGPL-3", + "author": "Creu Blanca,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/knowledge", + "depends": ["document_page",], + "data": ["security/document_page_security.xml", "views/document_page.xml",], } diff --git a/document_page_group/models/document_page.py b/document_page_group/models/document_page.py index 9260df3e..c08ea1fc 100644 --- a/document_page_group/models/document_page.py +++ b/document_page_group/models/document_page.py @@ -6,26 +6,26 @@ from odoo import api, fields, models class DocumentPage(models.Model): - _inherit = 'document.page' + _inherit = "document.page" group_ids = fields.Many2many( - 'res.groups', + "res.groups", store=True, - relation='document_page_direct_group', - column1='document_page_id', - column2='group_id', - compute='_compute_group_ids' + relation="document_page_direct_group", + column1="document_page_id", + column2="group_id", + compute="_compute_group_ids", ) direct_group_ids = fields.Many2many( - 'res.groups', - string='Visible to', - help='Set the groups that can view this category and its childs', - relation='document_page_group', - column1='document_page_id', - column2='group_id', + "res.groups", + string="Visible to", + help="Set the groups that can view this category and its childs", + relation="document_page_group", + column1="document_page_id", + column2="group_id", ) - @api.depends('direct_group_ids', 'parent_id', 'parent_id.group_ids') + @api.depends("direct_group_ids", "parent_id", "parent_id.group_ids") def _compute_group_ids(self): for record in self: groups = record.direct_group_ids diff --git a/document_page_group/security/document_page_security.xml b/document_page_group/security/document_page_security.xml index 54e24c4a..b8b99554 100644 --- a/document_page_group/security/document_page_security.xml +++ b/document_page_group/security/document_page_security.xml @@ -1,11 +1,11 @@ - + - document_page groups - - - ['|','&',('type', '=', 'content'),'|','|',('parent_id', '=', False), ('parent_id.group_ids','=',False),('parent_id.group_ids.users','=',user.id), '&', ('type', '=', 'category'), '|', ('group_ids', '=', False), ('group_ids.users', '=', user.id)] + + + ['|','&',('type', '=', 'content'),'|','|',('parent_id', '=', False), ('parent_id.group_ids','=',False),('parent_id.group_ids.users','=',user.id), '&', ('type', '=', 'category'), '|', ('group_ids', '=', False), ('group_ids.users', '=', user.id)] - diff --git a/document_page_group/tests/test_document_page_group.py b/document_page_group/tests/test_document_page_group.py index b5eaae2c..d3950d47 100644 --- a/document_page_group/tests/test_document_page_group.py +++ b/document_page_group/tests/test_document_page_group.py @@ -5,45 +5,43 @@ from odoo.tests.common import TransactionCase class TestDocumentPageGroup(TransactionCase): - def setUp(self): super(TestDocumentPageGroup, self).setUp() - knowledge_group = self.browse_ref('knowledge.group_document_user').id + knowledge_group = self.browse_ref("knowledge.group_document_user").id self.user_id = self.env["res.users"].create( { - 'name': 'user', - 'login': 'login', - 'email': 'email', - 'groups_id': [(4, knowledge_group)] + "name": "user", + "login": "login", + "email": "email", + "groups_id": [(4, knowledge_group)], } ) - self.group = self.browse_ref('document_page.group_document_manager') + self.group = self.browse_ref("document_page.group_document_manager") - self.categ_1 = self.env['document.page'].create({ - 'name': "Categ 1", - 'type': 'category' - }) - self.categ_2 = self.env['document.page'].create({ - 'name': "Categ 2", - 'type': 'category', - 'parent_id': self.categ_1.id, - }) - self.page = self.env['document.page'].create({ - 'name': "Page 1", - 'type': 'content', - 'parent_id': self.categ_1.id, - }) + self.categ_1 = self.env["document.page"].create( + {"name": "Categ 1", "type": "category"} + ) + self.categ_2 = self.env["document.page"].create( + {"name": "Categ 2", "type": "category", "parent_id": self.categ_1.id,} + ) + self.page = self.env["document.page"].create( + {"name": "Page 1", "type": "content", "parent_id": self.categ_1.id,} + ) def test_document_page_group(self): - pages = self.env['document.page'].sudo( - user=self.user_id.id - ).search([('type', '=', 'content')]) + pages = ( + self.env["document.page"] + .sudo(user=self.user_id.id) + .search([("type", "=", "content")]) + ) self.assertIn(self.page.id, pages.ids) - self.categ_1.write({'direct_group_ids': [(4, self.group.id)]}) + self.categ_1.write({"direct_group_ids": [(4, self.group.id)]}) self.assertIn(self.group.id, self.categ_2.group_ids.ids) - pages = self.env['document.page'].sudo( - user=self.user_id.id - ).search([('type', '=', 'content')]) + pages = ( + self.env["document.page"] + .sudo(user=self.user_id.id) + .search([("type", "=", "content")]) + ) self.assertNotIn(self.page.id, pages.ids) diff --git a/document_page_group/views/document_page.xml b/document_page_group/views/document_page.xml index 1946e691..68ec0aa3 100644 --- a/document_page_group/views/document_page.xml +++ b/document_page_group/views/document_page.xml @@ -1,20 +1,15 @@ - + - - document.page.form (in document_page_group) document.page - + - + - - -