summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/unpaid_invoice_view.py
blob: 3eb6efc7ab73e0e56ccb40fa390a0943d2e002e9 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from odoo import models, fields

class UnpaidInvoiceView(models.Model):
    _name = 'unpaid.invoice.view'
    _description = 'Unpaid Invoices Monitoring'
    _auto = False
    _rec_name = 'partner_name'
    _order = 'partner_name, new_invoice_day_to_due DESC'

    partner_id = fields.Many2one('res.partner', string='Partner')
    partner_name = fields.Char(string='Partner Name')
    # email = fields.Char()
    # phone = fields.Char()
    invoice_id = fields.Many2one('account.move', string='Invoice')
    invoice_number = fields.Char(string='Invoice Number')
    invoice_date = fields.Date()
    invoice_date_due = fields.Date(string='Due Date')
    date_terima_tukar_faktur = fields.Date(string='Terima Faktur')
    currency_id = fields.Many2one('res.currency', string='Currency') 
    amount_total = fields.Monetary(string='Total Amount', currency_field='currency_id')
    amount_residual = fields.Monetary(string='Sisa Amount', currency_field='currency_id')
    payment_state = fields.Selection([
        ('not_paid', 'Not Paid'),
        ('in_payment', 'In Payment'),
        ('paid', 'Paid'),
        ('partial', 'Partially Paid'),
        ('reversed', 'Reversed')], string='Payment State')
    payment_term_id = fields.Many2one('account.payment.term', string='Payment Term')
    invoice_day_to_due = fields.Integer(string="Day to Due")
    new_invoice_day_to_due = fields.Integer(string="New Day Due")
    
    ref = fields.Char(string='Reference')
    invoice_user_id = fields.Many2one('res.users', string='Salesperson')
    date_kirim_tukar_faktur = fields.Date(string='Kirim Faktur')
    sale_id = fields.Many2one('sale.order', string='Sale Order')

    payment_difficulty = fields.Selection([
        ('bermasalah', 'Bermasalah'),
        ('sulit', 'Sulit'),
        ('agak_sulit', 'Agak Sulit'),
        ('normal', 'Normal'),
    ], string="Payment Difficulty")

    def action_create_surat_piutang(self):
        self.ensure_one()
        return {
            'type': 'ir.actions.act_window',
            'res_model': 'surat.piutang',
            'view_mode': 'form',
            'target': 'current',
            'context': {
                'default_partner_id': self.partner_id.id,
                'default_selected_invoice_id': self.invoice_id.id,
            }
        }