56 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
# -*- coding: utf-8 -*-
 | 
						|
 | 
						|
from openerp import models, fields, api, _
 | 
						|
from openerp.exceptions import Warning
 | 
						|
 | 
						|
class ResConfigSettings(models.TransientModel):
 | 
						|
#     _inherit = 'sale.config.settings'
 | 
						|
    _inherit = 'res.config.settings' #odoo11
 | 
						|
    
 | 
						|
    commission_based_on = fields.Selection([
 | 
						|
        ('sales_team', 'Sales Team'),
 | 
						|
        ('product_category', 'Product Category'),
 | 
						|
        ('product_template', 'Product')], 
 | 
						|
        string="Calculation Based On",
 | 
						|
    )
 | 
						|
    when_to_pay = fields.Selection([
 | 
						|
        ('sales_confirm', 'Sales Confirmation'),
 | 
						|
        ('invoice_validate', 'Invoice Validate'),
 | 
						|
        ('invoice_payment', 'Customer Payment')], 
 | 
						|
        string="When To Pay",
 | 
						|
    )
 | 
						|
    
 | 
						|
#     @api.multi
 | 
						|
#     def set_commission_based_on_defaults(self):
 | 
						|
#         if self.when_to_pay == 'invoice_payment':
 | 
						|
#             if self.commission_based_on == 'product_category' or self.commission_based_on == 'product_template':
 | 
						|
#                 raise Warning(_("Sales Commission: You can not have commision based on product or category if you have selected when to pay is payment."))
 | 
						|
#         return self.env['ir.values'].sudo().set_default(
 | 
						|
#             'sale.config.settings', 'commission_based_on', self.commission_based_on)
 | 
						|
# 
 | 
						|
#     @api.multi
 | 
						|
#     def set_when_to_pay_defaults(self):
 | 
						|
#         return self.env['ir.values'].sudo().set_default(
 | 
						|
#             'sale.config.settings', 'when_to_pay', self.when_to_pay)
 | 
						|
 | 
						|
    @api.model
 | 
						|
    def get_values(self):
 | 
						|
        res = super(ResConfigSettings, self).get_values()
 | 
						|
        params = self.env['ir.config_parameter'].sudo()
 | 
						|
        res.update(
 | 
						|
            when_to_pay = params.get_param('sales_commission_external_user.when_to_pay'),
 | 
						|
            commission_based_on = params.get_param('sales_commission_external_user.commission_based_on')
 | 
						|
        )
 | 
						|
        return res
 | 
						|
 | 
						|
    @api.multi
 | 
						|
    def set_values(self):
 | 
						|
        super(ResConfigSettings, self).set_values()
 | 
						|
        ICPSudo = self.env['ir.config_parameter'].sudo()
 | 
						|
        ICPSudo.set_param("sales_commission_external_user.when_to_pay", self.when_to_pay)
 | 
						|
        if not self.env.context.get('skip'): #odoo11 skip
 | 
						|
            if self.when_to_pay == 'invoice_payment':
 | 
						|
                if self.commission_based_on == 'product_category' or self.commission_based_on == 'product_template':
 | 
						|
                    raise Warning(_("Sales Commission: You can not have commision based on product or category if you have selected when to pay is payment."))
 | 
						|
        ICPSudo.set_param("sales_commission_external_user.commission_based_on", self.commission_based_on)
 |