summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-02-28 14:56:34 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-02-28 14:56:34 +0700
commit58024d6e0849400bb9c86f7c7988b163958eebe0 (patch)
tree4cb86717a95a818bf293febdceb346e9f7da9b1b
parent46a7cc5601ceab2a7a6cdf4d74e0fa26ce13ab8a (diff)
delivery invoice address on so and invoices
-rw-r--r--indoteknik_custom/models/account_move.py12
-rw-r--r--indoteknik_custom/models/sale_advance_payment_inv.py1
-rwxr-xr-xindoteknik_custom/models/sale_order.py7
-rw-r--r--indoteknik_custom/views/account_move.xml4
-rwxr-xr-xindoteknik_custom/views/sale_order.xml1
5 files changed, 25 insertions, 0 deletions
diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py
index 7eb65e9f..b505850f 100644
--- a/indoteknik_custom/models/account_move.py
+++ b/indoteknik_custom/models/account_move.py
@@ -39,6 +39,18 @@ class AccountMove(models.Model):
reklas_id = fields.Many2one('account.move', string='Nomor CAB', domain="[('partner_id', '=', partner_id)]")
new_invoice_day_to_due = fields.Integer(string="New Day Due", compute="_compute_invoice_day_to_due")
date_efaktur_upload = fields.Datetime(string='eFaktur Upload Date', tracking=True)
+ real_invoice_id = fields.Many2one(
+ 'res.partner', string='Delivery Invoice Address', readonly=True, required=True,
+ states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]},
+ domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
+ help="Dipakai untuk alamat tempel")
+
+ address_invoice = fields.Char(related='real_invoice_id.street', string='Invoice Address', readonly=True)
+
+ @api.constrains('partner_id')
+ def _constrains_real_invoice(self):
+ for move in self:
+ move.real_invoice_id = move.sale_id.real_invoice_id
@api.constrains('efaktur_document')
def _constrains_date_efaktur(self):
diff --git a/indoteknik_custom/models/sale_advance_payment_inv.py b/indoteknik_custom/models/sale_advance_payment_inv.py
index ebbba6b9..bea9a900 100644
--- a/indoteknik_custom/models/sale_advance_payment_inv.py
+++ b/indoteknik_custom/models/sale_advance_payment_inv.py
@@ -19,6 +19,7 @@ class SaleAdvancePaymentInv(models.TransientModel):
'sale_id': order.id,
'fiscal_position_id': (order.fiscal_position_id or order.fiscal_position_id.get_fiscal_position(order.partner_id.id)).id,
'partner_shipping_id': parent_id.id,
+ 'real_invoice_id': order.real_invoice_id.id,
'currency_id': order.pricelist_id.currency_id.id,
'payment_reference': order.reference,
'invoice_payment_term_id': order.payment_term_id.id,
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index 4176a464..f44f624e 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -36,6 +36,11 @@ class SaleOrder(models.Model):
states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]},
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
help="Dipakai untuk alamat tempel")
+ real_invoice_id = fields.Many2one(
+ 'res.partner', string='Delivery Invoice Address', readonly=True, required=True,
+ states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]},
+ domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
+ help="Dipakai untuk alamat tempel")
fee_third_party = fields.Float('Fee Pihak Ketiga')
so_status = fields.Selection([
('terproses', 'Terproses'),
@@ -126,6 +131,7 @@ class SaleOrder(models.Model):
'team_id': self.team_id.id,
'partner_id': parent_id.id,
'partner_shipping_id': parent_id.id,
+ 'real_invoice_id': self.real_invoice_id.id,
'fiscal_position_id': (self.fiscal_position_id or self.fiscal_position_id.get_fiscal_position(self.partner_invoice_id.id)).id,
'partner_bank_id': self.company_id.partner_id.bank_ids[:1].id,
'journal_id': journal.id, # company comes from the journal
@@ -312,6 +318,7 @@ class SaleOrder(models.Model):
@api.onchange('partner_shipping_id')
def onchange_partner_shipping(self):
self.real_shipping_id = self.partner_shipping_id
+ self.real_invoice_id = self.partner_invoice_id
@api.onchange('partner_id')
def onchange_partner_contact(self):
diff --git a/indoteknik_custom/views/account_move.xml b/indoteknik_custom/views/account_move.xml
index 97951b95..cf03809b 100644
--- a/indoteknik_custom/views/account_move.xml
+++ b/indoteknik_custom/views/account_move.xml
@@ -23,6 +23,10 @@
<field name="ref" position="after">
<field name="sale_id" readonly="1" attrs="{'invisible': [('move_type', '!=', 'entry')]}"/>
</field>
+ <field name="partner_shipping_id" position="before">
+ <field name="real_invoice_id" readonly="1" attrs="{'invisible': [('move_type', '!=', 'out_invoice')]}"/>
+ <field name="address_invoice" readonly="1" attrs="{'invisible': [('move_type', '!=', 'out_invoice')]}"/>
+ </field>
<field name="efaktur_document" position="before">
<field name="no_faktur_pajak" attrs="{'invisible': [('move_type', '!=', 'in_invoice')]}"/>
<field name="date_efaktur_upload" readonly="1"/>
diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml
index 2f800e34..64e6ad7b 100755
--- a/indoteknik_custom/views/sale_order.xml
+++ b/indoteknik_custom/views/sale_order.xml
@@ -61,6 +61,7 @@
</field>
<field name="partner_shipping_id" position="after">
<field name="real_shipping_id"/>
+ <field name="real_invoice_id"/>
<field name="approval_status" />
<field name="sales_tax_id" domain="[('type_tax_use','=','sale')]" required="1"/>
<field name="carrier_id" required="1"/>