41 lines
2.0 KiB
Python
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: |