summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/commision.py
blob: e39deb63e3f0ac750249d4e1fb482300d5de8f7a (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
37
38
39
40
41
from odoo import models, api, fields
from odoo.exceptions import UserError
from datetime import datetime
import logging

_logger = logging.getLogger(__name__)


class CustomerCommision(models.Model):
    _name = 'customer.commision'
    _order = 'id desc'

    number = fields.Char(string='Document No', index=True, copy=False, readonly=True)
    date_from = fields.Date(string='Date From', required=True)
    date_to = fields.Date(string='Date To', required=True)
    partner_id = fields.Many2one('res.partner', String='Customer', required=True)
    description = fields.Char(string='Description')
    notification = fields.Char(string='Notification')
    commision_lines = fields.One2many('customer.commision.line', 'customer_commision_id', string='Lines', auto_join=True)

    @api.model
    def create(self, vals):
        vals['number'] = self.env['ir.sequence'].next_by_code('customer.commision') or '0'
        result = super(CustomerCommision, self).create(vals)
        return result

    def generate_customer_commision(self):
        print("masuk")
        return

class CustomerCommisionLine(models.Model):
    _name = 'customer.commision.line'
    _order = 'id'

    customer_commision_id = fields.Many2one('customer.commision', string='Ref', required=True, ondelete='cascade', copy=False)
    invoice_id = fields.Many2one('account.move', string='Invoice')
    partner_id = fields.Many2one('res.partner', string='Customer')
    state = fields.Char(string='InvStatus')
    dpp = fields.Float(string='DPP')
    tax = fields.Float(string='TaxAmt')
    total = fields.Float(string='Total')