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