diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 17:14:58 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 17:14:58 +0700 |
| commit | 1ca3b3df3421961caec3b747a364071c80f5c7da (patch) | |
| tree | 6778a1f0f3f9b4c6e26d6d87ccde16e24da6c9d6 /vit_efaktur/model | |
| parent | b57188be371d36d96caac4b8d65a40745c0e972c (diff) | |
initial commit
Diffstat (limited to 'vit_efaktur/model')
| -rw-r--r-- | vit_efaktur/model/__init__.py | 4 | ||||
| -rw-r--r-- | vit_efaktur/model/efaktur.py | 22 | ||||
| -rw-r--r-- | vit_efaktur/model/invoice.py | 50 | ||||
| -rw-r--r-- | vit_efaktur/model/partner.py | 53 | ||||
| -rw-r--r-- | vit_efaktur/model/product.py | 9 |
5 files changed, 138 insertions, 0 deletions
diff --git a/vit_efaktur/model/__init__.py b/vit_efaktur/model/__init__.py new file mode 100644 index 0000000..c20b76c --- /dev/null +++ b/vit_efaktur/model/__init__.py @@ -0,0 +1,4 @@ +from . import efaktur +from . import product +from . import invoice +from . import partner diff --git a/vit_efaktur/model/efaktur.py b/vit_efaktur/model/efaktur.py new file mode 100644 index 0000000..64cf430 --- /dev/null +++ b/vit_efaktur/model/efaktur.py @@ -0,0 +1,22 @@ +from odoo import api, fields, models, _ + +class efaktur(models.Model): + _name = 'vit.efaktur' + + name = fields.Char("eFaktur Number", required=True) + year = fields.Integer(string="Year", required=True, ) + + invoice_ids = fields.One2many(comodel_name="account.move", + inverse_name="efaktur_id", + string="Invoices", required=False, ) + + @api.depends('invoice_ids') + def _used(self): + for efaktur in self: + if efaktur.invoice_ids: + efaktur.is_used = True + else: + efaktur.is_used = False + + + is_used = fields.Boolean(string="Is Used", compute="_used", store=True) diff --git a/vit_efaktur/model/invoice.py b/vit_efaktur/model/invoice.py new file mode 100644 index 0000000..0c17058 --- /dev/null +++ b/vit_efaktur/model/invoice.py @@ -0,0 +1,50 @@ +from odoo import api, fields, models, _ + +class AccountMove(models.Model): + _name = 'account.move' + _inherit = 'account.move' + + efaktur_id = fields.Many2one(comodel_name="vit.efaktur", string="Faktur Pajak", required=False, ) + is_efaktur_exported = fields.Boolean(string="Is eFaktur Exported", ) + date_efaktur_exported = fields.Datetime(string="eFaktur Exported Date", required=False, ) + + # masa_pajak = fields.Char(string="Masa Pajak", required=False, compute="_masa_pajak" ) + # tahun_pajak = fields.Char(string="Tahun Pajak", required=False, compute="_tahun_pajak") + + masa_pajak = fields.Char(string="Masa Pajak", required=False) + tahun_pajak = fields.Char(string="Tahun Pajak", required=False) + + efaktur_masukan = fields.Char(string="Nomor Seri Faktur Pajak", required=False, ) + is_berikat = fields.Boolean(string="Kawasan Berikat?", related="partner_id.is_berikat" ) + prefix_berikat = fields.Char(string="Prefix NSFP", compute="_get_prefix_berikat" ) + + @api.depends("is_berikat") + def _get_prefix_berikat(self): + for rec in self: + if rec.is_berikat: + rec.prefix_berikat = '070' + else: + rec.prefix_berikat = '' + + # @api.depends("invoice_date") + # def _masa_pajak(self): + # for inv in self: + # if inv.invoice_date: + # d = inv.invoice_date.month + # # d = inv.invoice_date.split("-") + # inv.masa_pajak = str(d) + + # @api.depends("invoice_date") + # def _tahun_pajak(self): + # for inv in self: + # if inv.invoice_date: + # d = inv.invoice_date.year + # # d = inv.invoice_date.split("-") + # inv.tahun_pajak = str(d) + + # @api.multi + def action_invoice_open(self): + res = super(invoice, self).action_invoice_open() + if self: + self.is_efaktur_exported=False + return res diff --git a/vit_efaktur/model/partner.py b/vit_efaktur/model/partner.py new file mode 100644 index 0000000..fec0729 --- /dev/null +++ b/vit_efaktur/model/partner.py @@ -0,0 +1,53 @@ +from odoo import api, fields, models, _ + +class partner(models.Model): + _name = 'res.partner' + _inherit = 'res.partner' + + is_efaktur_exported = fields.Boolean(string="Is eFaktur Exported", ) + date_efaktur_exported = fields.Datetime(string="eFaktur Exported Date", required=False, ) + + npwp = fields.Char(string="NPWP", required=False) + blok = fields.Char(string="Blok", required=False) + nomor = fields.Char(string="Nomor", required=False) + rt = fields.Char(string="RT", required=False) + rw = fields.Char(string="RW", required=False) + + nama_wajib_pajak = fields.Char(string="Nama Wajib Pajak") + is_berikat = fields.Boolean(string="Kawasan Berikat?", ) + + + @api.depends("street","street2","city","state_id", "country_id","blok","nomor","rt","rw","kelurahan_id","kecamatan_id") + def _alamat_lengkap(self): + for partner in self: + lengkap = partner.street or "" + lengkap += " " + (partner.street2 or '') + + if partner.blok: + lengkap += " Blok: " + partner.blok + ", " + if partner.nomor: + lengkap += " Nomor: " + partner.nomor + ", " + + if partner.rt: + lengkap += " RT: " + partner.rt + if partner.rw: + lengkap += " RW: " + partner.rw + + if partner.kelurahan_id: + lengkap += " Kel: " + partner.kelurahan_id.name + "," + + if partner.kecamatan_id: + lengkap += " Kec: " + partner.kecamatan_id.name + + if partner.kota_id: + lengkap += """ + """ + partner.kota_id.name + "," + + if partner.state_id: + lengkap += " " + partner.state_id.name + + partner.alamat_lengkap = lengkap.upper() + + alamat_lengkap = fields.Char(string="Alamat Lengkap", required=False, compute="_alamat_lengkap") + alamat_lengkap_text = fields.Text(string="Alamat Lengkap", required=False) + diff --git a/vit_efaktur/model/product.py b/vit_efaktur/model/product.py new file mode 100644 index 0000000..5413b09 --- /dev/null +++ b/vit_efaktur/model/product.py @@ -0,0 +1,9 @@ +from odoo import api, fields, models, _ + +class product(models.Model): + _name = 'product.template' + _inherit = 'product.template' + + is_efaktur_exported = fields.Boolean(string="Is eFaktur Exported", ) + date_efaktur_exported = fields.Datetime(string="eFaktur Exported Date", required=False, ) + |
