diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_sale_stock/models/res_config_settings.py | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_sale_stock/models/res_config_settings.py')
| -rw-r--r-- | addons/website_sale_stock/models/res_config_settings.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/addons/website_sale_stock/models/res_config_settings.py b/addons/website_sale_stock/models/res_config_settings.py new file mode 100644 index 00000000..17fcafc8 --- /dev/null +++ b/addons/website_sale_stock/models/res_config_settings.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, api + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + inventory_availability = fields.Selection([ + ('never', 'Sell regardless of inventory'), + ('always', 'Show inventory on website and prevent sales if not enough stock'), + ('threshold', 'Show inventory when below the threshold and prevent sales if not enough stock'), + ('custom', 'Show product-specific notifications'), + ], string='Inventory Availability', default='never') + available_threshold = fields.Float(string='Availability Threshold') + website_warehouse_id = fields.Many2one('stock.warehouse', related='website_id.warehouse_id', domain="[('company_id', '=', website_company_id)]", readonly=False) + + def set_values(self): + super(ResConfigSettings, self).set_values() + IrDefault = self.env['ir.default'].sudo() + IrDefault.set('product.template', 'inventory_availability', self.inventory_availability) + IrDefault.set('product.template', 'available_threshold', self.available_threshold if self.inventory_availability == 'threshold' else None) + + @api.model + def get_values(self): + res = super(ResConfigSettings, self).get_values() + IrDefault = self.env['ir.default'].sudo() + res.update(inventory_availability=IrDefault.get('product.template', 'inventory_availability') or 'never', + available_threshold=IrDefault.get('product.template', 'available_threshold') or 5.0) + return res + + @api.onchange('website_company_id') + def _onchange_website_company_id(self): + if self.website_warehouse_id.company_id != self.website_company_id: + return {'value': {'website_warehouse_id': False}} |
