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