diff --git a/quality_control_stock/__manifest__.py b/quality_control_stock/__manifest__.py index f95766f6f..3d60bb1c3 100644 --- a/quality_control_stock/__manifest__.py +++ b/quality_control_stock/__manifest__.py @@ -20,6 +20,7 @@ "stock", ], "data": [ + "security/ir.model.access.csv", "data/quality_control_stock_data.xml", "views/qc_inspection_view.xml", "views/stock_picking_view.xml", diff --git a/quality_control_stock/security/ir.model.access.csv b/quality_control_stock/security/ir.model.access.csv new file mode 100644 index 000000000..96a249167 --- /dev/null +++ b/quality_control_stock/security/ir.model.access.csv @@ -0,0 +1,8 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_user_qc_inspection_stock_user,qc_inspection stock user,quality_control.model_qc_inspection,stock.group_stock_user,1,1,1,0 +access_user_qc_inspection_line_stock_user,qc_inspection_line stock user,quality_control.model_qc_inspection_line,stock.group_stock_user,1,1,1,0 +access_user_qc_test_stock_user,qc_test stock_user,quality_control.model_qc_test,stock.group_stock_user,1,0,0,0 +access_user_qc_test_question_stock_user,qc_test_question stock user,quality_control.model_qc_test_question,stock.group_stock_user,1,0,0,0 +access_user_qc_test_question_value_stock_user,qc_test_question_value_stock_user,quality_control.model_qc_test_question_value,stock.group_stock_user,1,0,0,0 +access_manager_qc_trigger_stock_user,qc_trigger stock user,quality_control.model_qc_trigger,stock.group_stock_user,1,0,0,0 +access_manager_qc_trigger_product_category_line_stock_user,qc_trigger product_category line stock user,quality_control.model_qc_trigger_product_category_line,stock.group_stock_user,1,0,0,0 diff --git a/quality_control_stock/tests/test_quality_control_stock.py b/quality_control_stock/tests/test_quality_control_stock.py index e3e8a9648..88fdb091a 100644 --- a/quality_control_stock/tests/test_quality_control_stock.py +++ b/quality_control_stock/tests/test_quality_control_stock.py @@ -9,6 +9,8 @@ class TestQualityControl(TransactionCase): def setUp(self): super(TestQualityControl, self).setUp() + + self.users_model = self.env['res.users'] self.picking_model = self.env['stock.picking'] self.inspection_model = self.env['qc.inspection'] self.qc_trigger_model = self.env['qc.trigger'] @@ -33,6 +35,11 @@ class TestQualityControl(TransactionCase): 'name': 'Lot for tests', 'product_id': self.product.id, }) + self.group_stock_user = self.env.ref('stock.group_stock_user') + self.company1 = self.env.ref('base.main_company') + self.user1_id = self._create_user( + 'user_1', [self.group_stock_user], self.company1) + move_vals = { 'name': self.product.name, 'product_id': self.product.id, @@ -42,7 +49,7 @@ class TestQualityControl(TransactionCase): 'location_dest_id': self.location_dest.id, 'quantity_done': 1.0 } - self.picking1 = self.picking_model \ + self.picking1 = self.picking_model.sudo(self.user1_id) \ .with_context(default_picking_type_id=self.picking_type.id) \ .create({ 'partner_id': self.partner1.id, @@ -69,6 +76,21 @@ class TestQualityControl(TransactionCase): }) sequence += 10 + def _create_user(self, login, groups, company): + """ Create a user.""" + group_ids = [group.id for group in groups] + user = self.users_model.with_context({'no_reset_password': True}).\ + create({ + 'name': 'Sale User', + 'login': login, + 'password': 'test', + 'email': 'test@yourcompany.com', + 'company_id': company.id, + 'company_ids': [(4, company.id)], + 'groups_id': [(6, 0, group_ids)] + }) + return user.id + def test_inspection_create_for_product(self): self.product.qc_triggers = [( 0, 0, {