[MIG] stock_exception: bump version, add security rules, add ondelete to selection field, and slightly refactor unit test

This commit is contained in:
Cedric Collins
2022-01-15 14:32:53 -06:00
parent 24f291c4fe
commit 9e39c681c8
5 changed files with 13 additions and 10 deletions

View File

@@ -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',
],

View File

@@ -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',

View File

@@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_stock_exception_confirm_user stock.exception.confirm user model_stock_exception_confirm stock.group_stock_user 1 1 1 1

View File

@@ -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')

View File

@@ -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')