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

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)