diff --git a/addons/product_expiry/__manifest__.py b/addons/product_expiry/__manifest__.py index 2021381a583..0a620081fa8 100644 --- a/addons/product_expiry/__manifest__.py +++ b/addons/product_expiry/__manifest__.py @@ -18,11 +18,14 @@ Following dates can be tracked: Also implements the removal strategy First Expiry First Out (FEFO) widely used, for example, in food industries. """, 'data': ['security/ir.model.access.csv', + 'security/stock_security.xml', 'views/production_lot_views.xml', 'views/product_template_views.xml', + 'views/res_config_settings_views.xml', 'views/stock_move_views.xml', 'views/stock_quant_views.xml', 'wizard/confirm_expiry_view.xml', + 'report/report_deliveryslip.xml', 'report/report_lot_barcode.xml', 'data/product_expiry_data.xml'], } diff --git a/addons/product_expiry/models/__init__.py b/addons/product_expiry/models/__init__.py index ce07f86f046..55fcdd6ea27 100644 --- a/addons/product_expiry/models/__init__.py +++ b/addons/product_expiry/models/__init__.py @@ -3,6 +3,7 @@ from . import production_lot from . import product_product +from . import res_config_settings from . import stock_move_line from . import stock_move from . import stock_picking diff --git a/addons/product_expiry/models/res_config_settings.py b/addons/product_expiry/models/res_config_settings.py new file mode 100644 index 00000000000..bb565c56346 --- /dev/null +++ b/addons/product_expiry/models/res_config_settings.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + group_expiry_date_on_delivery_slip = fields.Boolean("Display Expiration Dates on Delivery Slips", + implied_group='product_expiry.group_expiry_date_on_delivery_slip') + + @api.onchange('group_lot_on_delivery_slip') + def _onchange_group_lot_on_delivery_slip(self): + if not self.group_lot_on_delivery_slip: + self.group_expiry_date_on_delivery_slip = False + + @api.onchange('module_product_expiry') + def _onchange_module_product_expiry(self): + if not self.module_product_expiry: + self.group_expiry_date_on_delivery_slip = False diff --git a/addons/product_expiry/report/report_deliveryslip.xml b/addons/product_expiry/report/report_deliveryslip.xml new file mode 100644 index 00000000000..1d390ee181c --- /dev/null +++ b/addons/product_expiry/report/report_deliveryslip.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/addons/product_expiry/security/stock_security.xml b/addons/product_expiry/security/stock_security.xml new file mode 100644 index 00000000000..0757b8ac205 --- /dev/null +++ b/addons/product_expiry/security/stock_security.xml @@ -0,0 +1,9 @@ + + + + + Include expiration dates on delivery slip + + + + diff --git a/addons/product_expiry/views/res_config_settings_views.xml b/addons/product_expiry/views/res_config_settings_views.xml new file mode 100644 index 00000000000..1c636bed186 --- /dev/null +++ b/addons/product_expiry/views/res_config_settings_views.xml @@ -0,0 +1,23 @@ + + + + res.config.settings.view.form.inherit.product.expiry.stock + res.config.settings + + + +
+
+ +
+
+
+
+
+
+
+