summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/cust_commision.py
blob: 05c68935cfeab5835b4fcfe4d34be563f3e63708 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from odoo import models, api, fields
from odoo.exceptions import UserError
from datetime import datetime
import logging

_logger = logging.getLogger(__name__)


class CustCommision(models.Model):
    _name = 'cust.commision'
    _order = 'id desc'

    partner_id = fields.Many2one('res.partner', String='Customer', required=True)
    commision_percent = fields.Float(string='Commision %', tracking=3)
    target_1st = fields.Float(string='Target 1st', tracking=3)
    target_2nd = fields.Float(string='Target 2nd', tracking=3)
    achieve_1st = fields.Float(string='Achive 1st', tracking=3)
    achieve_2nd = fields.Float(string='Achive 2nd', tracking=3)
    commision_type = fields.Selection([
        ('fee', 'Fee'),
        ('cashback', 'Cashback'),
        ('rebate', 'Rebate'),
    ], string='Commision Type', required=True)
    brand_ids = fields.Many2many('x_manufactures', string='Brands', help='Voucher appplied only for brand')

    @api.constrains('partner_id')
    def _check_partner_id(self):
        for rec in self:
            duplicate_partner = self.search([
                ('partner_id', '=', rec.partner_id.id),
                ('id', '!=', rec.id)
            ])

            for rec in duplicate_partner:
                if self.commision_type == rec.commision_type:
                    raise UserError('Partner already exists')