Files
enterprise-addons/pos_settle_due/models/pos_config.py
T

35 lines
1.9 KiB
Python

from odoo import models, fields, api
class PosConfig(models.Model):
_inherit = 'pos.config'
def _get_default_settle_product(self):
return self.env.ref("pos_settle_due.product_product_settle", raise_if_not_found=False) or self.env['product.product']
def _get_default_deposit_product(self):
return self.env.ref("pos_settle_due.product_product_deposit", raise_if_not_found=False) or self.env['product.product']
def _get_default_settle_invoice_product(self):
return self.env.ref("pos_settle_due.product_product_settle_invoice", raise_if_not_found=False) or self.env['product.product']
settle_due_product_id = fields.Many2one('product.product', default=_get_default_settle_product, string='Settle Due Product', help="This product is used as to settle due of customer account.")
deposit_product_id = fields.Many2one('product.product', default=_get_default_deposit_product, string='Deposit Product', help="This product is used to deposit money on customer account.")
settle_invoice_product_id = fields.Many2one('product.product', default=_get_default_settle_invoice_product, string='Settle Invoice Product', help="This product is used as to settle invoices of customer.")
@api.model
def _default_settle_deposit_product_on_module_install(self):
configs = self.env['pos.config'].search([])
product_settle = self._get_default_settle_product()
product_deposit = self._get_default_deposit_product()
product_settle_inv = self._get_default_settle_invoice_product()
for conf in configs:
conf.settle_due_product_id = product_settle
conf.deposit_product_id = product_deposit
conf.settle_invoice_product_id = product_settle_inv
def _get_special_products(self):
res = super()._get_special_products() | self._get_default_settle_product() | self._get_default_deposit_product() | self._get_default_settle_invoice_product()
return res