odoo/ext/3rd-party-addons/global_discount/models/res_config.py

41 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
from odoo import fields, models, api
class ResCompany(models.Model):
_inherit = "res.company"
purchase_discount_product_id = fields.Many2one('product.product', string='Purchase Discount Product')
sale_discount_product_id = fields.Many2one('product.product', string='Sale Discount Product')
invoice_discount_product_id = fields.Many2one('product.product', string='Invoice Discount Product')
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
purchase_discount_product_id = fields.Many2one('product.product', string='Purchase Discount Product')
sale_discount_product_id = fields.Many2one('product.product', string='Sale Discount Product')
invoice_discount_product_id = fields.Many2one('product.product', string='Invoice Discount Product')
@api.model
def get_values(self):
res = super(ResConfigSettings, self).get_values()
res.update(
purchase_discount_product_id=self.env.user.company_id.purchase_discount_product_id and self.env.user.company_id.purchase_discount_product_id.id or False,
sale_discount_product_id=self.env.user.company_id.sale_discount_product_id and self.env.user.company_id.sale_discount_product_id.id or False,
invoice_discount_product_id=self.env.user.company_id.invoice_discount_product_id and self.env.user.company_id.invoice_discount_product_id.id or False,
)
return res
@api.multi
def set_values(self):
super(ResConfigSettings, self).set_values()
if not self.env.user._is_admin():
raise AccessError(_("Only administrators can change the settings"))
self.env.user.company_id.purchase_discount_product_id = self.purchase_discount_product_id.id
self.env.user.company_id.sale_discount_product_id = self.sale_discount_product_id.id
self.env.user.company_id.invoice_discount_product_id = self.invoice_discount_product_id.id
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: