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: |