From 9e39c681c8270ddc292cfc69fdba97609dc2aa0d Mon Sep 17 00:00:00 2001 From: Cedric Collins Date: Sat, 15 Jan 2022 14:32:53 -0600 Subject: [PATCH] [MIG] stock_exception: bump version, add security rules, add ondelete to selection field, and slightly refactor unit test --- stock_exception/__manifest__.py | 3 ++- stock_exception/models/stock.py | 5 ++++- stock_exception/security/ir.model.access.csv | 2 ++ stock_exception/tests/test_stock_exception.py | 12 ++++-------- stock_exception/wizard/stock_exception_confirm.py | 1 + 5 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 stock_exception/security/ir.model.access.csv diff --git a/stock_exception/__manifest__.py b/stock_exception/__manifest__.py index 94034a05..f445d890 100644 --- a/stock_exception/__manifest__.py +++ b/stock_exception/__manifest__.py @@ -2,7 +2,7 @@ { 'name': 'Stock Exception Rule', - 'version': '13.0.1.0.0', + 'version': '14.0.1.0.0', 'author': 'Hibou Corp.', 'license': 'OPL-1', 'category': 'Generic Modules', @@ -16,6 +16,7 @@ Custom exceptions on delivery orders 'stock', ], 'data': [ + 'security/ir.model.access.csv', 'views/stock_views.xml', 'wizard/stock_exception_confirm_views.xml', ], diff --git a/stock_exception/models/stock.py b/stock_exception/models/stock.py index 95824dfb..2f809b6c 100644 --- a/stock_exception/models/stock.py +++ b/stock_exception/models/stock.py @@ -9,7 +9,10 @@ class ExceptionRule(models.Model): model = fields.Selection( selection_add=[ ('stock.picking', 'Transfer'), - ] + ], + ondelete={ + 'stock.picking': 'cascade', + }, ) picking_ids = fields.Many2many( 'stock.picking', diff --git a/stock_exception/security/ir.model.access.csv b/stock_exception/security/ir.model.access.csv new file mode 100644 index 00000000..a1ecfa7a --- /dev/null +++ b/stock_exception/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_stock_exception_confirm_user,stock.exception.confirm user,model_stock_exception_confirm,stock.group_stock_user,1,1,1,1 diff --git a/stock_exception/tests/test_stock_exception.py b/stock_exception/tests/test_stock_exception.py index 6525d607..93f5f96c 100644 --- a/stock_exception/tests/test_stock_exception.py +++ b/stock_exception/tests/test_stock_exception.py @@ -1,6 +1,6 @@ # Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. -from odoo.tests import common +from odoo.tests import common, Form class TestStockException(common.TransactionCase): @@ -31,17 +31,13 @@ class TestStockException(common.TransactionCase): }) # validate delivery order - delivery_order.button_validate() + action = delivery_order.button_validate() self.assertEqual(delivery_order.state, 'draft') # Simulation the opening of the wizard sale_exception_confirm and # set ignore_exception to True - stock_exception_confirm = self.env['stock.exception.confirm'].with_context( - { - 'active_id': delivery_order.id, - 'active_ids': [delivery_order.id], - 'active_model': delivery_order._name - }).create({'ignore': True}) + stock_exception_confirm = Form(self.env[action['res_model']].with_context(action['context'])).save() + stock_exception_confirm.ignore = True stock_exception_confirm.action_confirm() self.assertTrue(delivery_order.ignore_exception) self.assertEqual(delivery_order.state, 'done') diff --git a/stock_exception/wizard/stock_exception_confirm.py b/stock_exception/wizard/stock_exception_confirm.py index b575f965..8b405ae7 100644 --- a/stock_exception/wizard/stock_exception_confirm.py +++ b/stock_exception/wizard/stock_exception_confirm.py @@ -6,6 +6,7 @@ from odoo import api, fields, models class StockExceptionConfirm(models.TransientModel): _name = 'stock.exception.confirm' _inherit = ['exception.rule.confirm'] + _description = 'Stock Exception Confirm Wizard' related_model_id = fields.Many2one('stock.picking', 'Transfer')